なぜこんな計算結果になるのか?
これまで西暦下2桁で年の認識をする様になっていました。
70年は西暦1970年、99年は西暦1999年と処理されてきました。
ところが99年+1年は西暦100年と認識されてしまった(本当はこれが正しいのですが)
この為100年−1999年という計算されたためです。
テスト的にあなたのパソコンの時計をクリックして年号を2000年にして
下の表示がどう変わるか見てください。
JavaScriptの
today.getYear()は
1999年までは下2桁、2000年からは4桁を出力しまします。
97、98、99、2000、2001ということになっています。
today.getTime(y,m,d)は
1970年1月1日0時00分00秒からの経過時間を出力しますが
y=99を代入してもまたy=1999を代入しても同じ答えが得られますが
y=99+1とy=1999+1では2000年と100年の処理となります。
|