0

私はPHPタイムスタンプをjavascriptで人間が読める形式に変換しています:

<script type="text/javascript">

    var timeleft = new Date( <?php echo $lefttime; ?> * 1000 );

    var hours = timeleft.getHours();
    var minutes = timeleft.getMinutes();
    var seconds = timeleft.getSeconds();

    var countdown = function() {

    console.log( "You have " + hours + ":" + minutes + ":" + seconds + " seconds left" );

</script>

分と秒は機能しますが、時間については奇妙な結果が得られます。例えば:

タイムスタンプ: 1976

関数の戻り値: 19:32:56

から「19」を取得している理由はあり.getHours()ますか?

4

1 に答える 1

5

私は、あなたが東部時間にいるという推測を危険にさらすつもりです. 表示されている$lefttimeのはエポックから数秒後です。EST の場合は午後 7 時です。

XKCD

それを修正するには、基本的な数学を使用してください。

var timeleft = <?php echo $lefttime; ?>;
var hours = Math.floor(timeleft/3600);
var minutes = Math.floor(timeleft/60)%60;
var seconds = timeleft%60;
于 2012-07-25T21:07:19.170 に答える