0

私のタイトルが言っているように、現在の時刻のUNIX時間と日付(時分と秒を含む)の間の時間をjsでカウントダウンするタイマーを作りたいと思っています。

どうすればいいのかわからないので、ここで助けてもらえますか?

4

3 に答える 3

1
var timestamp = new Date(2012,6,8,13,54,52).getTime()-new Date().getTime(); 
// 0 based month
var tid = setInterval(
  function() {
    if (timestamp<=0) clearIntervaltid);
    document.getElementById("timeContainer").innerHTML=new Date(timestamp-=1000);
  },1000);
于 2012-07-08T18:58:35.070 に答える
1
  var now = new Date();
  var date = new Date(2012, 7, 9);
  var diff = new Date(date - now);

  var res = '';
  res += diff.getHours()   + 'h ';
  res += diff.getMinutes() + 'min ';
  res += diff.getSeconds() + 's';

JS Bin での動作をご覧ください

于 2012-07-08T18:43:22.550 に答える
0

このカウントダウンは、負の時間 (カウントダウンに達した) も処理します。

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <script type="text/javascript">
        var zeroDate_ms = Date.parse("8 Jul 2012 22:41:00 GMT+2");
        window.setInterval("countdown()", 1000);
        function countdown() {
            var now_ms = Number(new Date());
            var sign = (zeroDate_ms < now_ms) ? "-":"";
            var diff_s = Math.floor(Math.abs(zeroDate_ms - now_ms)/1000);
            var diff_h = Math.floor(diff_s / 3600/*1000*60*60*/);
            diff_s -= (diff_h * 3600);
            var diff_m = Math.floor(diff_s / 60/*1000*60*/);
            diff_s -= (diff_m * 60)
            var h = String(diff_h);
            var m = ("0"+String(diff_m)).substr(-2);
            var s = ("0"+String(diff_s)).substr(-2);
            document.getElementById("countdown").innerHTML=sign+h+":"+m+":"+s
        }

    </script>
</head>
<body>
    <div id="countdown"></div>
</body>
</html>
于 2012-07-08T20:45:15.187 に答える