Project/자작·수리
블로그 스킨용 D-Day 소스
★の別
2010. 2. 23. 20:34
현재 몇일인지 알려주는 D-Day의 확장판(?) 이다..
첫 실행시에는 바로 다음 기념일이 보이고,
첫 실행시에는 바로 다음 기념일이 보이고,
◀Next/Prev▶ 버튼을 눌러서 이전/다음 기념일을 보여준다.
100일 단위와 연단위를 섞어서 차례대로 보여준다.
아울러 생각난김에 대충 짜서 소스가 지저분 하다 ㅡㅡ;
내 경우는 사이드바 쪽에 적당한 아이템을 만들고 집어넣었다.
ps: 이소스는 시작 당일을 기준으로 D=0 에서 시작한다.
100일 단위와 연단위를 섞어서 차례대로 보여준다.
아울러 생각난김에 대충 짜서 소스가 지저분 하다 ㅡㅡ;
<p align="center"><b><script language="Javascript">
var now = new Date();
var ONE_DAY = (1000 * 60 * 60 * 24);
var then = new Date("Feb 28, 2009");
var gap = Math.floor( (now.getTime() - then.getTime())/ONE_DAY );
document.write("만남" + gap + "일째<br>");
var nextanni = gap;
document.write("<a href='javascript:prev_day()'>◀</a><span id='dDay' style='display:inline-block;font-size:11px;font-weight:normal;width:160px'>-</span><a href='javascript:next_day()'>▶</a>");
function update()
{
var next = new Date();
var hdr = new String();
next.setTime( then.getTime() + nextanni*(1000*60*60*24) );
if(nextanni%100)
hdr = ( next.getFullYear()-then.getFullYear() ) + "년/";
hdr += nextanni + "일";
document.getElementById("dDay").innerHTML = ("[" + hdr + "]" + next.getFullYear() + "년 " + (next.getMonth()+1) + "월 " + next.getDate() + "일");
}
function next_day()
{
var nextdaydate = new Date(then);
nextdaydate.setTime( then.getTime() + (Math.floor(nextanni/100)*100 + 100)*ONE_DAY );
var nextyeardate = new Date(then);
var curanni = new Date();
curanni.setTime( then.getTime() + nextanni*ONE_DAY );
nextyeardate.setFullYear( curanni.getFullYear() );
if( nextyeardate.getTime() <= curanni.getTime() )
nextyeardate.setFullYear( curanni.getFullYear() + 1 );
var next = nextdaydate;
if( nextyeardate.getTime() < nextdaydate.getTime() )
next = nextyeardate;
nextanni = Math.floor( (next.getTime()-then.getTime())/ONE_DAY );
update();
}
function prev_day()
{
var nextdaydate = new Date(then);
nextdaydate.setTime( then.getTime() + (Math.ceil(nextanni/100)*100 - 100)*ONE_DAY );
var nextyeardate = new Date(then);
var curanni = new Date();
curanni.setTime( then.getTime() + nextanni*ONE_DAY );
nextyeardate.setFullYear( curanni.getFullYear() );
if( nextyeardate.getTime() >= curanni.getTime() )
nextyeardate.setFullYear( curanni.getFullYear() -1 );
var next = nextdaydate;
if( nextyeardate.getTime() > nextdaydate.getTime() )
next = nextyeardate;
nextanni = Math.floor( (next.getTime()-then.getTime())/ONE_DAY );
update();
}
next_day();
</script></b>
</p>
var now = new Date();
var ONE_DAY = (1000 * 60 * 60 * 24);
var then = new Date("Feb 28, 2009");
var gap = Math.floor( (now.getTime() - then.getTime())/ONE_DAY );
document.write("만남" + gap + "일째<br>");
var nextanni = gap;
document.write("<a href='javascript:prev_day()'>◀</a><span id='dDay' style='display:inline-block;font-size:11px;font-weight:normal;width:160px'>-</span><a href='javascript:next_day()'>▶</a>");
function update()
{
var next = new Date();
var hdr = new String();
next.setTime( then.getTime() + nextanni*(1000*60*60*24) );
if(nextanni%100)
hdr = ( next.getFullYear()-then.getFullYear() ) + "년/";
hdr += nextanni + "일";
document.getElementById("dDay").innerHTML = ("[" + hdr + "]" + next.getFullYear() + "년 " + (next.getMonth()+1) + "월 " + next.getDate() + "일");
}
function next_day()
{
var nextdaydate = new Date(then);
nextdaydate.setTime( then.getTime() + (Math.floor(nextanni/100)*100 + 100)*ONE_DAY );
var nextyeardate = new Date(then);
var curanni = new Date();
curanni.setTime( then.getTime() + nextanni*ONE_DAY );
nextyeardate.setFullYear( curanni.getFullYear() );
if( nextyeardate.getTime() <= curanni.getTime() )
nextyeardate.setFullYear( curanni.getFullYear() + 1 );
var next = nextdaydate;
if( nextyeardate.getTime() < nextdaydate.getTime() )
next = nextyeardate;
nextanni = Math.floor( (next.getTime()-then.getTime())/ONE_DAY );
update();
}
function prev_day()
{
var nextdaydate = new Date(then);
nextdaydate.setTime( then.getTime() + (Math.ceil(nextanni/100)*100 - 100)*ONE_DAY );
var nextyeardate = new Date(then);
var curanni = new Date();
curanni.setTime( then.getTime() + nextanni*ONE_DAY );
nextyeardate.setFullYear( curanni.getFullYear() );
if( nextyeardate.getTime() >= curanni.getTime() )
nextyeardate.setFullYear( curanni.getFullYear() -1 );
var next = nextdaydate;
if( nextyeardate.getTime() > nextdaydate.getTime() )
next = nextyeardate;
nextanni = Math.floor( (next.getTime()-then.getTime())/ONE_DAY );
update();
}
next_day();
</script></b>
</p>
내 경우는 사이드바 쪽에 적당한 아이템을 만들고 집어넣었다.
ps: 이소스는 시작 당일을 기준으로 D=0 에서 시작한다.