function Calendar()
{ this.WTBL = ["日","月","火","水","木","金","土"];
this.MTBL = [0,31,59,90,120,151,181,212,243,273,304,334];
// 通算日数を計算する関数
this.Days = function(yy,mm,dd)
{ var y= parseInt(yy);
var m= parseInt(mm);
var d= parseInt(dd);
var w= (y-1)*365; //年*365
w+= Math.floor(y/4) - Math.floor(y/100) + Math.floor(y/400) + this.MTBL[m-1] + d;
if (m<3 && this.Uruu(y)) w--;
return(w);
}
// 閏年を調べる関数
this.Uruu = function(y)
{ if (y%400==0) return(true);
if (y%100==0) return(false);
if (y%4==0) return(true);
return(false);
}
// 曜日を調べる関数
this.Week = function(num)
{ var n= (num)%7;
return this.WTBL[n];
}
var date= new Date();
var yy= date.getFullYear();
var mm= date.getMonth()+1;
var dd= date.getDate();
this.num= this.Days(yy,mm,dd);
}
|
<script type="text/javascript">
var str = prompt("記念日をタイプして下さい", "1995/1/17");
ymd = str.split('/');
var cls = new Calendar();
var n = cls.Days(ymd[0],ymd[1],ymd[2]);
var cnt = cls.num - n + 1;
var wek = cls.Week(n);
alert("記念日 " + str + "(" + wek + "曜日)" + " 経過日数:" + cnt);
</script>
|
<script src="calender.js"> </script> |
var date= new Date();
var yy= date.getFullYear();
var mm= date.getMonth()+1;
var dd= date.getDate();
this.num= this.Days(yy,mm,dd);
|
| 日付 | 通算日数 | 曜日 | 説明 |
|---|---|---|---|
| 1/1/1 | 1 | 月 | 西暦元年元旦 |
| 1995/1/17 | 728310 | 火 | 阪神淡路大震災 |
| 1997/8/31 | 729267 | 日 | ダイアナ妃交通事故死 |
| 2001/9/11 | 730739 | 火 | アメリカ航空機テロ |
| 2011/3/11 | 734207 | 金 | 東日本大震災 |
![]()