プロが教えるわが家の防犯対策術!

交通事故無事故無違反を会社のHPのTOPに貼りたいのです。

今日(6/1)から計測するとして、
今日だと
-無事故無違反「0」日経過しました。-
となり、明日になれば
-無事故無違反「1」日経過しました。-
とすることはあちこち探してできました。

でも、できれば、
-無事故無違反「dd」日「hh」時間「mm」分「ss」秒経過しました。-
としたいのですが、
「hh」時間まではできても、分・秒までのやり方・考え方がわかりません。

表示はできると思うのですが
分や秒はあくまで任意の日付(たとえば6月1日)から何千分・または何万秒たったかの表示に
なってしまいます。

経過時間を何日何時間何分何秒と表示するにはどうすればいいのでしょうか?

A 回答 (1件)

経過病数をtimesとします。



分は、60(秒)*60(分)で時に繰り上がるので、
times % 3600
で分以下が計算できます。%は計算後の残りの値にしてくれます。
しかしこれには秒も含まれているので、秒の分は削ります。
times % 3600 / 60
これだと小数点が含まれることもあるので、
Math.floor(times % 3600 / 60);
で求めることができます。

秒は、60秒で分に繰り上がるので、
times % 60
で計算できます。

何日何時間何分何秒の場合は...。
分りやすく変数に入れてみますね。

var day = Math.floor(times / 86400);
var hour = Math.floor(times % 86400 / 3600);
var min = Math.floor(times % 3600 / 60);
var sec = times % 60;

alert(day+"日"+hour+"時間"+min+"分"+sec+"秒");

という感じになるのではないでしょうか。
    • good
    • 0
この回答へのお礼

ありがとうございました。
早速、明日、ためしてみます。

お礼日時:2011/06/02 23:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!