• ベストアンサー

時間の表示で・・

JavaScriptで、現在の時間を表示することはできましたが、それとは別に30分後の表示をしようとするとできません。今が45分だとすると75分になってしまいます。 minuteが60になるとhour+1というようにやるのだと思いますがうまくできません。詳しい解説をお願いいたします。

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

  • ベストアンサー
  • ttyp03
  • ベストアンサー率28% (277/960)
回答No.2

#1です。 では、こんな感じでどうでしょう? スクリプト部分のみ書き換えてください。 tt = new Date(); tt30 = new Date(); tt60 = new Date(); tt30.setTime( tt.getTime() + 30 * 60 * 1000 ); tt60.setTime( tt.getTime() + 60 * 60 * 1000 ); document.write( "現在の時刻 " + tt.getHours() + ":" + tt.getMinutes() + "<br>" ); document.write( "30分後の時刻 " + tt30.getHours() + ":" + tt30.getMinutes() + "<br>" ); document.write( "1時間後の時刻 " + tt60.getHours() + ":" + tt60.getMinutes() + "<br>" );

follish
質問者

お礼

できました!ありがとうございます!

その他の回答 (1)

  • ttyp03
  • ベストアンサー率28% (277/960)
回答No.1

日付や時間の処理は通算秒を使用して計算するのが一般的です。 <html> <body> <script> // 現在時刻用 tt = new Date(); // 現在時刻+30分用 tt30 = new Date(); // getTime()で現在時刻の秒数を取得し、30分(ミリ秒換算)をプラスしたものをtt30にセットする tt30.setTime( tt.getTime() + 30 * 60 * 1000 ); // 表示 document.write( tt.toLocaleString() + "<br>" ); document.write( tt30.toLocaleString() + "<br>" ); </script> </body> </html> これを参考に自分のプログラムに組み込んでみてください。

follish
質問者

お礼

丁寧な回答ありがとうございます! これをコピーしてみたところちゃんと動きました! ただ、初心者のくせにと言われるかもしれませんが、 実行画面に、 現在の時刻   1:50 30分後の時刻  2:20 1時間後の時刻  2:50 という風に表示したいのです…

関連するQ&A