Dateオブジェクトのparse()メソッドは、1970年1月1日00:00:00UTCから、日付を表す文字列で指定した日時までの経過ミリ秒数を取得します。
日付を表す文字列が解釈できない場合には NaN を返します。 文字列が日付として解釈されるかどうか不安の残る場合には、 Dateオブジェクトで日時を指定するDate.UTC()メソッドを使用するほうが確実でしょう。
UTCは協定世界時であることを表します。 協定世界時(UTC)とはセシウム原子の振動数を基準とする国際原子時で、イギリスのグリニッジを通る子午線を基準に定められたグリニッジ標準時(GMT)とほぼ同じです。 協定世界時に対して日本標準時は9時間進んでいます。
<script> var hiduke1 = Date.parse("1 Jan 2001 00:00:00 UTC"); var hiduke2 = Date.parse("2001-1-1"); var hiduke3 = Date.parse("2001年1月1日"); document.write(hiduke1 + "<br>"); //ミリ秒数が返る document.write(hiduke2 + "<br>"); //ミリ秒数が返る document.write(hiduke3 + "<br>"); //NaNが返る //経過ミリ秒数 → 経過年数に変換 var keikaYears = hiduke1 / (1000 * 60 * 60 * 24 * 365.2425); document.write(keikaYears); </script>