前提・実現したいこと
JSでPHPから変換した時間を動的に表示をしたいという理由で
1秒ごとに表示を返還するというものを作成したところ、
日と時間はあっているのですが、分数と秒数の換算が暴れています。
gettimeに変えてから時間を変えているため。計算式などにも問題はないと思うのですが、
PHPでの文字の書き方などの問題になってしまうのでしょうか?
発生している問題・エラーメッセージ
終了期日:2021-08-23 03:26:29までは、あと0日9時間597分35874秒です。
該当のソースコード
Jacascript
1function showCountdown() { 2 //ここでやりたいことは今が何時で終わる時間は何時でそこからの差額からカウントダウンをするというもの 3var time = '<?php echo $display?>';//ここでの形式は”終了期間は2021-08-23 03:26:29”という感じ 4 5 6var date1 = new Date('<?php echo $dt; ?>');2021-08-23 03:26:29と文字で表している 7var date2 = new Date(); 8 9var diff = date1.getTime() - date2.getTime(); 10 11//ここでの表示の仕方をどうすればいいかを考える。 12var dDays = diff / ( 1000 * 60 * 60 * 24 ); // 日数 13 var dHour = diff / ( 1000 * 60 * 60 ); // 時間 14 var dMin = diff / ( 1000 * 60 ); // 分 15 var dSec = diff / 1000; // 秒 16 var msg2 = Math.floor(dDays) + "日" 17 + Math.floor(dHour) + "時間" 18 + Math.floor(dMin) + "分" 19 + Math.floor(dSec) + "秒"; 20 21 //分と秒の換算がバグっている 22 23 // 表示文字列の作成 24 if( date1 > date2 ) 25 { 26 var msg = time + "までは、あと" + msg2 + "です。"; 27 } 28 document.getElementById("Countdown").innerHTML = msg; 29} 30setInterval('showCountdown()',1000);
回答2件
あなたの回答
tips
プレビュー