この日記はMozillaのプロダクトへの貢献者としての私の成果を中心に、気になったバグやWeb界隈の話題について書いていますが、 断り書きがある場合を除き、いかなる団体のオフィシャルな見解ではありません。あくまでも個人的なものです。 Mozilla Foundation、Mozilla Corporation、及び関連企業の公式情報ではないことに注意してください。

現在、XHTML 1.0 (もどき)から、HTML5なコンテンツに修正中です。古い日記は修正が完了していませんので表示が崩れます。 順次、修正していく予定ですのでしばらくお待ちください。

もずはっく日記(2005年10月)

2005年10月1日

Bug 1241 javascript の document.lastModified はローカライズされて表示されるべき #2
初回投稿日時: 2005年10月01日00時28分14秒
最終更新日時: 2005年10月01日02時28分53秒
カテゴリ: Mozilla Core
SNS: (list)

いまとなっては懐かしい、日本トップ・ウェブサイト テスト プロジェクトで発見された、IEとの非互換問題。

最終的に、document.lastModifiedは常に、MM/DD/YYYY hh:mm:ssという形式の文字列を返すように変更した。これは、HTTP経由か、ローカルファイルかも関係ないし、HTTPヘッダにlast-modifiedがあるかどうかも関係無い。常に、この形式は守られる。(ちなみに、HTTP経由で、last-modifiedが不明、もしくは不正な形式だった場合は現在時刻が返される。これは動的なページにおいては概ね正しいはずだ。)

肝心の返される内容だが、これはシステムの時刻設定に左右される。JSTのシステムの場合、GMTに九時間加算した時間が返される。つまり、日本の標準時間で返される。(今までのMozillaは常にGMTで返していた。正確にはHTTPヘッダの文字列がそのまま返されていたのだが。)

これらの仕様から、document.lastModifiedから取得した文字列をDateTimeオブジェクトに必ず変換可能であることが保証される。(日本人になじみのある形式で表示したければ、一度DateTimeオブジェクトを作成し、toLocaleStringを利用すれば、システム標準のフォーマットで表示可能である。)

参考となったMSの文書はlastModified Property (document) (Internet Explorer - DHTML)である。

また、とほほ氏のlastModifiedを綺麗に表示するには?がこの修正において大きな役割を果たしたことも記しておく。

最後に、テストケースと、そのスクリーンショット(Firefoxは修正後のもの)へのリンクを記しておく。

関連するかもしれないエントリ

bug 1241を含むエントリ

Bug 1241 javascript の document.lastModified はローカライズされて表示されるべき