- ベストアンサー
最終更新日の表示について
ホームページの最終更新日を 『最終更新日 2005年○月×日 12:00』 のように表示させるようJavaScriptを下記の様に書いてみました。 <script language="JavaScript"> <!-- now = new Date(document.lastModified); document.write("最終更新日 ",now.getYear(),"年",now.getMonth()+1,"月",now.getDate(),"日",now.getHours(),"時",now.getMinutes(),"分"); //--> </script> これでもあっているのでしょうか? いろんなサイトを参考に見たのですが、手書きのところや、 document.write("Last Update:"document.lastModified) というところばかりでした。 また、あるページでは、 document.write("Last updated: ", document.lastModified, "<BR>"); と書かれているのですが、アクセス時間が表示されるようで更新すると変わってしまうところや いろいろな条件が書いてあり、複雑なものもありました。 はじめに書いたスクリプトでも、ちゃんと動くと思うのですが、皆さんのアドバイスをいただきたく、質問させていただきました。 よろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
細かいことですが、now.getYear() は now.getFullYear() に直しましょう。 now.getYear() はブラウザにより挙動が異なります。 (例えば Firefox や Opera では2005年ではなく105年と表示されます。) ただし、ブラウザによっては new Date(document.lastModified) の部分がうまく動かない可能性があります。 document.lastModified の値の書式はブラウザごとに違うので、こっちの方に関しては100%確実な方法はありません。
その他の回答 (2)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
>アクセス時間が表示されるようで更新すると変わってしまう 動的に作成されるページ(今の場合ちょっと関係ないかな?)とか 静的ページでもサーバーによってそのように動作するものがあります。
お礼
BLUEPIXYさん、アドバイスありがとうございました。
- frisk_blue_love
- ベストアンサー率48% (141/293)
今テストしたら、ご希望通りの表示になりました。 よって正解ではあります。 まぁ、細かい事を言えば"日"を"日 "にすると見やすいかな? >ちゃんと動くと思うのですが って、ご自分のローカル環境でテストはしたのですか? ご自分のローカルの環境でテストして、ダメだったらエラーメッセージを書いて質問する、方が質問者さんのためになると思います。
お礼
frisk_blue_loveさん、こんばんは。 ローカル環境(IEで開いただけですが)でテストした際は、エラーは出ず、作動していました。 ただ、質問にも書かせていただきましたが、 document.write("Last updated: ", document.lastModified, "<BR>"); と書かれていても、システムデータが表示されるというサイトを見たもので、少し不安になり質問させていただきました。 確認、及びアドバイスしていただき、ありがとうございました。
お礼
UKYさん、こんばんは。 参考にしている本に注意書きがありました。 JavaScript1.3からgetFullYear()が追加されているようですね。 しかし、対応していないブラウザも多いとか。 検討した結果、if文を使うことにしました。 アドバイス、どうもありがとうございました。m(_ _=)m