lastModifiedとDate()関連関数についての詳細

とほほのWWW入門 > アラカルト > lastModifiedとDate()関連関数についての詳細
2000年1月17日版 作成中

■ 実験

(1)〜(2) lastModifiedの値と、それをDate()で解釈するとどうなるか、(3)〜(6) toString(), toLocaleString(), toGMTString(), toUTCString()のフォーマットの違い、(7) getYear()の動作の違いについて調べてみました。(ご協力いただいた皆様に感謝いたします。)

d1 = new Date(document.lastModified);
d2 = new Date(2000, 11, 31, 23, 59, 59);
document.writeln("<PRE>");
document.writeln(navigator.userAgent);
document.writeln("(1) " + document.lastModified);
document.writeln("(2) " + d1);
document.writeln("----------");
document.writeln("(3) " + d2.toString());
document.writeln("(4) " + d2.toLocaleString());
document.writeln("(5) " + d2.toGMTString());
document.writeln("(6) " + d2.toUTCString());
document.writeln("----------");
document.writeln("(7) " + d2.getYear());
document.writeln("</PRE>");

■ Internet Explorer 5.0X

Mozilla/4.0 (compatible; MSIE 5.0; Windows 95)
(1) 12/31/2000 23:59:59
(2) Sun Dec 31 23:59:59 UTC+0900 2000
----------
(3) Sun Dec 31 23:59:59 UTC+0900 2000
(4) 12/31/2000 23:59:59
(5) Sun, 31 Dec 2000 14:59:59 UTC
(6) Sun, 31 Dec 2000 14:59:59 UTC
----------
(7) 2000

■ Internet Explorer 4.0X

Mozilla/4.0 (compatible; MSIE 4.01; Windows 95)
(1) 12/31/2000 14:59:59   ← 9時間ずれている
(2) Mon Dec 31 14:59:59 UTC+0900 1900 ← 間違ってる
----------
(3) Sun Dec 31 23:59:59 UTC+0900 2000
(4) 12/31/2000 23:59:59
(5) Sun, 31 Dec 2000 14:59:59 UTC
(6) Sun, 31 Dec 2000 14:59:59 UTC
----------
(7) 2000

■ Internet Explorer 3.0X

Mozilla/2.0 (compatible; MSIE 3.02; Update a; Windows 95)
(1) 日 12 31 23:59:59 2000
(2) Thu Jan 01 09:00:00 1970 ← 間違ってる
----------
(3) Sun Dec 31 23:59:59 2000
(4) 12/31/00 23:59:59
(5) Sun, 31 Dec 2000 14:59:59 GMT
(6) 未サポート。
----------
(7) 100

■ Netscape Navigator 4.7

Mozilla/4.7 [ja] (Win98; I)
(1) Sunday, December 31, 2000 23:59:59
(2) Sun Dec 31 23:59:59 GMT+0900 (???? (?W????)) 2000
----------
(3) Sun Dec 31 23:59:59 GMT+0900 (???? (?W????)) 2000
(4) Sunday, December 31, 2000 23:59:59
(5) Sun, 31 Dec 2000 14:59:59 GMT
(6) Sun, 31 Dec 2000 14:59:59 GMT
----------
(7) 100

■ Netscape Navigator 4.7(Mac)

Mozilla/4.71 (Macintosh; I; PPC)
(1) Dec 11 12:24:30 1929 ← 大嘘
(2) Wed Dec 11 12:24:30 GMT-1500 1929 ← 大嘘
----------
(3) Sun Dec 31 23:59:59 GMT-1500 2000
(4) Dec 31 23:59:59 2000
(5) Mon, 01 Jan 2001 14:59:59 GMT ← 大嘘
(6) Mon, 01 Jan 2001 14:59:59 GMT ← 大嘘
----------
(7) 100

■ Netscape Navigator 4.08(UNIX(VineLinux)版)

Mozilla/4.08 [Vine-ja] (X11; I; Linux 2.0.36 i586)
(1) Sun 31 Dec 2000 11:59:59 PM JST
(2) Invalid Date ← 解釈できない
----------
(3) Sun Dec 31 23:59:59 GMT+0900 (JST) 2000
(4) Sun 31 Dec 2000 11:59:59 PM JST
(5) Sun, 31 Dec 2000 14:59:59 GMT
(6) Sun, 31 Dec 2000 14:59:59 GMT
----------
(7) 100

■ Netscape Navigator 4.06〜4.51

Mozilla/4.08 [en] (WinNT; I ;Nav)
(1) 12/31/00 23:59:59
(2) Mon Dec 31 23:59:59 GMT+0900 (???? (?W????)) 1900
----------                             間違ってる ↑
(3) Sun Dec 31 23:59:59 GMT+0900 (???? (?W????)) 2000
(4) Sunday, December 31, 2000 23:59:59
(5) Sun, 31 Dec 2000 14:59:59 GMT
(6) Sun, 31 Dec 2000 14:59:59 GMT
----------
(7) 100

■ Netscape Navigator 3.0〜4.05

Mozilla/4.01 [ja] (Win95; I)
(1) 12/31/00 23:59:59
(2) Mon Dec 31 23:59:59 東京 (標準時) 1900
----------                  間違ってる ↑
(3) Sun Dec 31 23:59:59 東京 (標準時) 2000
(4) 12/31/00 23:59:59
(5) Sun, 31 Dec 2000 14:59:59 GMT
(6) 未サポート
----------
(7) 2000

■ Netscape Navigator 2.0X

Mozilla/2.01I (Win95; I)
(1) Sun Dec 31 23:59:59 2000
             lastModifiedの後に改行がはいる
(2) ブラウザがアプリケーションエラー
----------
(3) Sun Dec 31 23:59:59  2000
(4) 12/31/00 23:59:59
(5) Sun, 31 Dec 2000 14:59:59 GMT
(6) 未サポート
----------
(7) 100

■ HotJava 3.0

Mozilla/3.0 [ja] (compatible; HotJava; x86)
(1) Sun Dec 31 23:59:59 JST 2000
(2) Invalid Date ← 解釈できない
----------
(3) Sun Dec 31 23:59:59 GMT+0900 (GMT+09:00) 2000
(4) 2000/12/31 23:59:59:GMT+09:00
(5) Sun, 31 Dec 2000 14:59:59 GMT
(6) Sun, 31 Dec 2000 14:59:59 GMT
----------
(7) 100

■ 考察

以上の情報を集めて、lastModified の値を奇麗にフォーマットして表示するにはどうすればよいかを考察するつもりだったのですが・・・あきらめました!!

面倒でも、手作業で更新日を記入するか、他のブラウザで表示が変になるのを覚悟で Date(document.lastModified) を使用するか、上記の情報を元に、主要ブラウザの振る舞いを考慮したソースコードを書くか・・・


Copyright (C) 2000 とほほ
http://wakusei.cplaza.ne.jp/twn/wwwxx033.htm