本文引用自babytree – 寶寶年齡語法 ( IE 和 FIREFOX 都能正確顯示版 )
從世界之窗換到火狐後,日期就無法顯示年了,今天上網找,果然有正確版本。^^
以下是我修改過的語法,因為原語法中有比較多的空格,而我考慮側欄的寬度和文字長度,故將空格刪去不用。
<!–語法開始–>
<script language=”JavaScript”>
var today = new Date();
var year = today.getFullYear();
var month = today.getMonth();
var day = today.getDate();
var t_yy = 0;
var t_mm = 0;
var t_dd = 0;
var b_yy = 請填西元年份;
var b_mm = 請填月;
var b_dd = 請填日;
t_yy = year – b_yy – 1;
if ( month + 1 > b_mm)
{ t_mm = month – b_mm ;
t_yy++;
}
else
t_mm = 12 – b_mm + month;
if (day > b_dd)
{ t_dd = day – b_dd;
t_mm++;
}
else
t_dd = daysInMonth(month, year) – b_dd + day;
if (t_dd > daysInMonth(month, year)-1)
{ t_dd = 0;
t_mm++;
}
if (t_mm > 11)
{ t_mm = 0;
t_yy++;
}
document.write(“某某已經“);
if (t_yy > 0)
document.write(” ” + t_yy + “歲“);
if (t_mm > 0)
document.write(t_mm + “個月“);
if (t_dd > 0)
document.write(” 又 ” + t_dd + “天“) ;
//****** function set ******
function arrayOfDayInMonths(isLeapYear)
{
this[0] = 31;
this[1] = 31;
this[2] = 28;
if (isLeapYear)
this[2] = 29;
this[3] = 31;
this[4] = 30;
this[5] = 31;
this[6] = 30;
this[7] = 31;
this[8] = 31;
this[9] = 30;
this[10] = 31;
this[11] = 30;
}
function daysInMonth(month, year)
{ var isLeapYear = ((( year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0));
var monthdays = new arrayOfDayInMonths(isLeapYear);
return monthdays[month];
}
</script><!–語法結束–>
這麼一來,不管IE或是火狐firefox,都能正確顯示年月日囉!^^
說明:
1.要全部複製後貼上,不可以自己斷行,不然會無法顯現喔!
2.紅字的地方:請用西元曆填上日期,比如孩子的生日或者結婚紀念日…等等,可以自己變化。
3.藍字的地方:這裡可以顯示你想要的語句,如Eric已經幾歲幾個月幾天了。
或者,我們已經牽手幾年幾個月幾天了。多多發揮你的創意喔!
4.如果要計算多個,請以 <br> →換行,或者 <p> →空一行,隔開即可。
2008.04.01
本文引用自 lulu – 自動計算和顯現年月日的年齡語法
這個語法最早是在lulu家看到的,所以我跟lulu申請引用。
不過我用了之後發現字的排版有時候會顯得有點不規則
所以我略做了修改,如果想要原始語法的人請到lulu家取用,但記得謝謝她喲~
以下是我修改過的語法:
<script language=”JavaScript”>
var today = new Date();
var year = today.getYear();
var month = today.getMonth();
var day = today.getDate();
var t_yy = 0;
var t_mm = 0;
var t_dd = 0;
var b_yy = 年;
var b_mm = 月;
var b_dd = 日;
t_yy = year – b_yy – 1;
if ( month + 1 > b_mm)
{ t_mm = month – b_mm ;
t_yy++;
}
else
t_mm = 12 – b_mm + month;
if (day > b_dd)
{ t_dd = day – b_dd;
t_mm++;
}
else
t_dd = daysInMonth(month, year) – b_dd + day;
if (t_dd > daysInMonth(month, year)-1)
{ t_dd = 0;
t_mm++;
}
if (t_mm > 11)
{ t_mm = 0;
t_yy++;
}
document.write(“某某某已經“);
if (t_yy > 0)
document.write(” ” + t_yy + “歲“);
if (t_mm > 0)
document.write(” ” +t_mm + “個月“);
if (t_dd > 0)
document.write(“又” + t_dd + “天了“) ;
//****** function set ******
function arrayOfDayInMonths(isLeapYear)
{ this[0] = 31;
this[1] = 28;
if (isLeapYear)
this[1] = 29;
this[2] = 31;
this[3] = 30;
this[4] = 31;
this[5] = 30;
this[6] = 31;
this[7] = 31;
this[8] = 30;
this[9] = 31;
this[10] = 30;
this[11] = 31;
}
function daysInMonth(month, year)
{ var isLeapYear = ((( year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0));
var monthdays = new arrayOfDayInMonths(isLeapYear);
return monthdays[month];
}
</script>
說明:
1.要全部複製後貼上,不可以自己斷行,不然會無法顯現喔!
2.紅字的地方:請用西元曆填上日期,比如孩子的生日或者結婚紀念日…等等,可以自己變化。
3.藍字的地方:這裡可以顯示你想要的語句,如Eric已經幾歲幾個月幾天了。
或者,我們已經牽手幾年幾個月幾天了。多多發揮你的創意喔!
4.如果要計算多個,請以 <br> →換行,或者 <p> →空一行,隔開即可。