2013年12月14日土曜日

JavaScriptを使用した自動日付更新機能

保管庫を更新するたびに手動で更新日時を変更するのが面倒だったため、
自動でファイルの変更日時を拾ってきてくれるソースを書いたので覚え書き程度に貼っておく。

書いたというより、web上からソースを拾ってきて保管庫仕様に弄っただけだが。
AAで言うところのコピ改である。特に言い換える必要もなかった。

<script type="text/javascript"><!--
myD = new Date( document.lastModified );
myYear = myD.getFullYear();
myMonth = myD.getMonth() + 1; 
myDate = myD.getDate(); 
myHours = myD.getHours() + 9; 
myMinutes = myD.getMinutes();
mySeconds = myD.getSeconds();

if (myHours >= 24) { myDate = myDate + 1; }
if (myHours >= 24) { myHours = myHours - 24; }

if(myMonth < 10) { myMonth = "0" + myMonth; }
if(myDate < 10) { myDate = "0" + myDate; }
if(myHours < 10) { myHours = "0" + myHours; }
if(myMinutes < 10) { myMinutes = "0" + myMinutes; }
if(mySeconds < 10) { mySeconds = "0" + mySeconds; }

myStr = "last update " + myYear + "/" + myMonth + "/" + myDate + " " + myHours + ":" + myMinutes + "." + mySeconds;
document.write( myStr ); 
// --></script><br>

参考-イヌでもわかるJavaScript講座-更新日時(lastModified) /最終更新日

表示結果はこんな感じになる。


ちなみに、サーバーにアップデートしないでローカルで表示させると現在時刻を示すが
問題ありません。ごあんしんです。


追記 トップページ用に曜日を付加したもののソースも貼っておく。
<script type="text/javascript"><!--
myD = new Date( document.lastModified );
myYear = myD.getFullYear();
myMonth = myD.getMonth() + 1; 
myDate = myD.getDate(); 
myDay = myD.getDay(); 
myHours = myD.getHours() + 9; 
myMinutes = myD.getMinutes();
mySeconds = myD.getSeconds();

if (myHours >= 24) { myDate = myDate + 1; }
if (myHours >= 24) { myHours = myHours - 24; }

if(myMonth < 10) { myMonth = "0" + myMonth; }
if(myDate < 10) { myDate = "0" + myDate; }
if(myHours < 10) { myHours = "0" + myHours; }
if(myMinutes < 10) { myMinutes = "0" + myMinutes; }
if(mySeconds < 10) { mySeconds = "0" + mySeconds; }

myStr = "◆ " + myYear + "年" + myMonth + "月" + myDate + "日" + " ( " + myDay + " ) " + myHours + "時" + myMinutes + "分" + mySeconds + "秒";
document.write( myStr ); 
// --></script><br>

表示結果はこんな感じ。




書き上げてから思ったんだけど、普通にdayとかmonthとかのもっと単純な関数名にすればよかった。


さらに追記 (2014/02/23)

外部ファイル(modified.js)に記入して呼び出したほうが手っ取り早い。

0 件のコメント:

コメントを投稿