• ベストアンサー

更新更新日の表示を整えて表示したい。

最終更新日を出すプログラムを作ったのですが、 クライアントでは動作するのにサーバーにあっぷすると、 更新日付が今現在の日付になってしまいます。 これはどうしてでしょうか? FTPソフトが更新してるのかな? 下記のURLで実際に動作してます。困った。 http://www25.freeweb.ne.jp/area/m-yawata/ function PrintUpdate(){ var time = new Date(document.lastModified); var year = time.getYear(); //年 var month= time.getMonth(); //月 var date= time.getDate(); //日 var hours= time.getHours(); //時間 var min= time.getMinutes(); //分 month++; nowmonth++; document.write("<FONT COLOR='GREEN'>UPDATE:"+ year +"/"+ month +"/"+ date +" "); document.write( hours +":"+ min + "</FONT>"); }

質問者が選んだベストアンサー

  • ベストアンサー
  • madman
  • ベストアンサー率24% (612/2465)
回答No.1

「更新日付が今現在の日付になってしまいます」というのは、FTPにて転送した時間になるという事でしょうか? FTPで転送すると、転送をおおなった時間が更新時間になります。 サーバーのOSにより違いがあるかもしれませんが、圧縮して転送し展開してみてください。

mahouchan
質問者

お礼

FTPソフトの設定でした。 アスキーモードで送っていたのが原因でした。 ありがとうございましたーーー!

その他の回答 (1)

  • MMPichu
  • ベストアンサー率66% (4/6)
回答No.2

HttpHeaderにその情報が入っている必要があると思いますが、 Webサーバがその情報を送っていないのでは? だとしたら、document.lastModifiedでは更新日付は取得できません。 他の方法がプロバイダのホームページ作成手順みたいなものに載っていませんか? SSI(Server Side Include)で、 <!--#config timefmt="%y/%m/%d %H:%M"--> <!--#flastmod file="index.html"--> のように埋め込めるプロバイダもあります。

mahouchan
質問者

補足

レスをありがとうございます。 FFFTPソフトの転送タイプが間違っていたようです。 間違って、バイナリモードで転送してました。 バイナリモードで転送するとファイルの作成日時が変換されるようです。 ありがとうございました。

関連するQ&A

  • 自動で最終更新日を表示する

    同じ内容の投稿を見たのですが、解決しなかったので、教えて下さい。 HPの最終更新日が、HPを開いた日付になってしまい、更新日を表示 しません。(ここ最近更新していないのに、最終更新日が今日の日付になっている。) Yahooのgeocitiesを使っており、CGIは使えないので、それ以外を教えて下さい。 よろしくお願いします。 <Body>に以下のように書いています。 <SCRIPT language="JavaScript"> upDate=new Date(document.lastModified); Month=upDate.getMonth()+1; Date=upDate.getDate(); Year=upDate.getYear(); document.write("最終更新日:" +Year +"年" +Month +"月" +Date +"日") </SCRIPT>

  • JavaScriptでdocument.fileCreatedDate

    JavaScriptでdocument.fileCreatedDateを使おうとして <script type="text/javascript"> <!-- var date = new Date(document.fileCreatedDate); var year = date.getYear(); var month = date.getMonth() + 1; var day = date.getDate(); var hour = date.getHours(); var min = date.getMinutes(); if(year < 2000){year += 1900;} if(month < 10){month = "0" +month;} if(day < 10){day = "0" + day;} if(hour < 10){hour = "0" + hour;} if(min < 10){min = "0" + min;} document.write("作成日:" + year + "年" + month + "月" + day + "日" + hour + "時" + min + "分" + "<BR>"); //--> </script> のようなスクリプトを作ったんですが表示がおかしくなります。 Google chromeでも正常に表示できるようにしたいです。 よろしくおねがいします。

  • 「誕生日まであと○日です」

    <html> <head> <title>test</title> </head> <body> <SCRIPT LANGUAGE="javascript" TYPE="text/javascript"> <!-- var weeks = new Array('日','月','火','水','木','金','土'); var now = new Date(); var year = now.getYear(); // 年 var month = now.getMonth() + 1; // 月 var day = now.getDate(); // 日 var week = weeks[ now.getDay() ]; // 曜日 var hour = now.getHours(); // 時 var min = now.getMinutes(); // 分 var sec = now.getSeconds(); // 秒 if(year < 2000) { year += 1900; } // 数値が1桁の場合、頭に0を付けて2桁で表示する指定 if(month < 10) { month = "0" + month; } if(day < 10) { day = "0" + day; } if(hour < 10) { hour = "0" + hour; } if(min < 10) { min = "0" + min; } if(sec < 10) { sec = "0" + sec; } document.write('今日:' + year + '年' + month + '月' + day + '日'); // --> </SCRIPT> </body> </html> これで今日の日付けは表示できたのですが 誕生日が7/31なのですが document.writeで 「誕生日まであと○日です」 と表示するにはどうすれば良いでしょうか?

    • ベストアンサー
    • HTML
  • lastModifiedの表示フォーマットを変えたい

    おはようございます。 lastModifiedで更新日時を表示したいのですが、 そのまま表示すると 03/12/2001 00:50:30 のようになってしまいます。 これを2001年03月12日のようにしたいのです。 var time = document.lastModified; time =time.GetMonth(); document.write(time); とやってみましたが、うまくいきません。 分かる方、教えていただけたら、恐縮です。

  • 2つの日付・時間の差分を求めるには

    2つの日付、時間の差分を求めるには、 timelocal を使うのかと思うのですが、 $time1 = timelocal($sec1,$min1,$hours1,$day1,$month1,$year1); $time2 = timelocal($sec2,$min2,$hours2,$day2,$month2,$year2); $result = int(($time2 - $time1)/(60*60*24)); return $result; ではいけないのでしょうか?

    • ベストアンサー
    • Perl
  • 最終更新日の表示について

    ホームページの最終更新日を 『最終更新日 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>"); と書かれているのですが、アクセス時間が表示されるようで更新すると変わってしまうところや いろいろな条件が書いてあり、複雑なものもありました。 はじめに書いたスクリプトでも、ちゃんと動くと思うのですが、皆さんのアドバイスをいただきたく、質問させていただきました。 よろしくお願い致します。

  • 「更新」が開くたびに、変更されるのは?

    「更新」が開くたびに、変更されるのはなぜでしょう? 下のように記述したら、更新もしないのに、ページを開くと更新の日付が変わってしまいます。なぜでしょうか? document.write ("更新 "); document.write (document.lastModified);

  • HPBで更新日を入れる

    こんにちは。 HPBv10を使用しています。 更新日を入れたいのですが <!-- document.write('Last updated: ', document.lastModified); //--> のスクリプトで入れると、どうしても時間が入ってしまいます。 更新日のみを入れるにはどうしたら良いのでしょうか? よろしくお願いします。

  • 最終更新日なんですが

    <script language="JavaScript"> <!-- now = new Date(document.lastModified); document.write("最終更新日 ",now.getFullYear(),"年",now.getMonth()+1,"月",now.getDate(),"日",now.getHours(),"時",now.getMinutes(),"分"); //--> </script> この設定にした場合、トップページへ訪れた段階の 最終更新日が表示されるため、言わば日付けを表す カレンダーの様な状態です。 こちらが更新した際に切り替わるような最終更新日設定方法は、ありませんか 有りましたら上記の様なタグもしくわ参考URLなどを 載せてもらえると助かります。 宜しくお願い致します。

  • ページの更新日時を表示するスクリプト

    java超初心者です。 ページの更新日時を表示するスクリプトで、 <script type="text/javascript"> <!-- // 表示開始 document.write(document.lastModified); // 表示終了 // --> </script> があります。 これを、保存して、再度開くと更新日時が、二つ羅列されます。 また保存して、再度開くとまた増えて三つ羅列されます。 最新のものだけ表示したいのです。 色々調べてdocumentの内容をクリアするdocument.clearを足しました。 // 表示開始 document.clear document.write(document.lastModified); // 表示終了 ですが、上手くいきませんでした。 また調べてdocument.clearは現在は使用できない?とわかり docoment.openでも内容はクリアできるとわかり // 表示開始 document.open document.write(document.lastModified); document.close // 表示終了 としましたが、これも上手くいきません。 最新の更新日時しか表示されない方法をご教授いただけたらと思います。