2008年1月19日

自動計算 Blog 的開幕時間

根據萬能的 Google 告訴我,要達到這個目的其實很簡單,只要把下面的程式碼
貼在<head>之後......

<script language='JavaScript'>
//<![CDATA[
function HowLongSince(startyear,startmonth,startdate) {
var DaysInMonth=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
var today=new Date()
var thisyear=today.getFullYear();
var thismonth=today.getMonth();
var thisdate=today.getDate();
mstart=new Date(startyear,startmonth,1);
mend=new Date(thisyear,thismonth,1);
ydiff=thisyear-mstart.getFullYear();
mdiff=thismonth-mstart.getMonth();
days1=(mstart-new Date(startyear,startmonth-1,startdate))/(24*60*60*1000)-1;
days2=(new Date(thisyear,thismonth,thisdate)-mend)/(24*60*60*1000)+1;
dayst=days1+days2;
if (dayst>=DaysInMonth[startmonth-1]) {
mdiff+=1;
dayst-=DaysInMonth[startmonth-1];
}
if (ydiff==0 && mdiff==0 && dayst==0)
message="今天";
else {
if (mdiff>11) { mdiff=0; ydiff++; }
if (mdiff<0) { mdiff=mdiff+12; ydiff--; }
message=(ydiff !=0 ? ydiff+" 年" : "");
message+=(mdiff !=0 ? " "+mdiff+" 個月" : "");
if (ydiff !=0 && mdiff != 0) message+="又";
message+=(dayst!=0 ? " "+dayst+" 天" : "");
}
return message;
}
//]]>
</script>
然後再到想要顯示的位置,加入下面的語法即可:
<p>
<script language="JavaScript">
document.write(HowLongSince(2007,11,15));
</script>
</p>
其中藍色的數字就填入開始運作的日期就行了。

沒有留言: