あなたが生まれて今日で何日め?
<SCRIPT LANGUAGE="JavaScript">
<!------------------------------------------------------
// 今日の日付
var now=new Date();
var n_year=now.getYear();
var n_mon=now.getMonth()+1;
var n_date=now.getDate();
var n_day=now.getDay();

// 曜日に変換
var n_week;
if(n_day==0) n_week="日";
if(n_day==1) n_week="月";
if(n_day==2) n_week="火";
if(n_day==3) n_week="水";
if(n_day==4) n_week="木";
if(n_day==5) n_week="金";
if(n_day==6) n_week="土";

// 2000年対策
app = navigator.appName.charAt(0);
ver = navigator.appVersion.charAt(0);
if (app == "M") {if (ver <= 3) { n_year=n_year+1900;}}

// あなたの生まれた日付
var b_year;
var b_mon;
var b_date;
b_year = prompt("貴方の生まれた西暦は?\n(4桁で半角数字で入力してください)","");
b_mon = prompt("貴方の生まれた月は?\n(1-12までの数字を半角数字で入力してください)","");
b_date = prompt("貴方の生まれた日は?\n(半角数字で入力してください)","");

document.write('

今日は'+n_year+'年'+n_mon+'月'+n_date+'日'+n_week+'曜日'); // 今年が始まってから何日 var n_feb_date; if(n_year%4==0) { if(n_year%100==0) { if(n_year%400==0) n_feb_date=29; else n_feb_date=28; } else n_feb_date=29; } else n_feb_date=28; var n_howdays; if(n_mon==1) n_howdays=n_date; if(n_mon==2) n_howdays=31+n_date; if(n_mon==3) n_howdays=31+n_feb_date+n_date; if(n_mon==4) n_howdays=62+n_feb_date+n_date; if(n_mon==5) n_howdays=92+n_feb_date+n_date; if(n_mon==6) n_howdays=123+n_feb_date+n_date; if(n_mon==7) n_howdays=153+n_feb_date+n_date; if(n_mon==8) n_howdays=184+n_feb_date+n_date; if(n_mon==9) n_howdays=215+n_feb_date+n_date; if(n_mon==10) n_howdays=245+n_feb_date+n_date; if(n_mon==11) n_howdays=276+n_feb_date+n_date; if(n_mon==12) n_howdays=306+n_feb_date+n_date; document.write('、'+n_year+'年が始まってから'+n_howdays+'日目です。'); // あなたが生まれてから document.write('<P>'+b_year+'年'+b_mon+'月'+b_date+'日にあなたが生まれてから'); ////その1 生まれたその年 var b_feb_date; var days; if(b_year%4==0 && b_year%100!=0 || b_year%400==0){ b_feb_date=29; days=366;} else{ b_feb_date=28; days=365;} b_mon=b_mon/1; b_date=b_date/1; var b_howdays1; if(b_mon==1) b_howdays1=days-(b_date); if(b_mon==2) b_howdays1=days-(31+b_date); if(b_mon==3) b_howdays1=days-(31+b_feb_date+b_date); if(b_mon==4) b_howdays1=days-(62+b_feb_date+b_date); if(b_mon==5) b_howdays1=days-(92+b_feb_date+b_date); if(b_mon==6) b_howdays1=days-(123+b_feb_date+b_date); if(b_mon==7) b_howdays1=days-(153+b_feb_date+b_date); if(b_mon==8) b_howdays1=days-(184+b_feb_date+b_date); if(b_mon==9) b_howdays1=days-(215+b_feb_date+b_date); if(b_mon==10) b_howdays1=days-(245+b_feb_date+b_date); if(b_mon==11) b_howdays1=days-(276+b_feb_date+b_date); if(b_mon==12) b_howdays1=days-(306+b_feb_date+b_date); ////その2 生まれた次の年から去年まで var b_howdays2=0; var x=0; //閏年の回数 for(count=b_year+1; count<=n_year-1; count++){ if(count%4==0 && count%100!=0 || count%400==0) x=x+1;} b_howdays2=n_year-b_year-1; b_howdays2=b_howdays2*365+x; ////その3 生まれてからの総日数 var b_howdays4; b_howdays4=b_howdays1+b_howdays2+n_howdays; document.write('今までに'+b_howdays4+'日が過ぎました。'); //--------------------------------------------------------> </SCRIPT>


●設置方法
以上のJavascript文を<BODY>〜</BODY>に貼り付けてください。

● 変更点 Ver.1.01
2000年問題解決。

● 変更点 Ver.1.02
IE3以下では2000年を100と表記するらしいので、一旦取り外した+1900を再度付加。

● 変更点 Ver.2.00(2000/8/1)
閏年判定式を数万年カレンダーからパクる。古いのも残ってるけど。

実行結果】【戻る