-3

私はdeal_expiration_time:1469396377のような時刻を返すAPIを使用しています。これは1970年からの秒数のようです。のカウントダウンをMM/SSに取得しようとしています明らかにjQueryを使用できませんか?私はしばらくの間苦労し、このコードで困惑しています。あなたはDate.now()を使用して現在の時刻を取得し、手動で時間差を計算することができ、そのinput: 1469396377 | output: 08:21JavaScriptの1970年から秒数をカウントする

function(){ 
    var x1, secs1 = 510; 
    x1 = setInterval(function(){myFunc1(9)}, 1000); 

    function myFunc1(timerId){ 
    var minutes = Math.floor(secs1/60); 
    var seconds = secs1 % 60; 
    $('#timer_'+timerId).html(minutes + ':' + seconds); //assuming there is a label with Id 'timer' 

    secs1--; 
    if(secs1 == 0){ 
     document.getElementById('timer_' + timerId).style.hidden = true; 
     clearInterval(x1); 
    } 
    } 
} 
+2

これはUnix時間またはエポックタイムです。あなたは[この類似の質問](http://stackoverflow.com/questions/221294/how-do-you-get-a-)で提案されているように、 'Date.now()'または '+ new Date'を使ってそれを得ることができますタイムスタンプ・イン・ジャバスクリプト)。ミリ秒単位で切り捨てる必要があるかもしれません。 – Havenard

+0

*「これは角張っているので、明らかにjQueryを使用できないのですか?」* - なぜそれらを一緒に使用できないのか分かりませんが、いずれの場合でもjQueryは日付/時刻操作ライブラリではありませんなぜあなたがここでそれを使いたいのかわかりません... – nnnnnn

+0

もっと多くのコードがありますか?あなたの例では、Angularに特有のものは何も表示されません。いずれにしても、http://stackoverflow.com/questions/12050268/angularjs-make-a-simple-countdown – Ash

答えて

0

ので、私はそれを作るしようとしています。この関数は、指定された時刻と現在の時刻の差を取得し、秒と分の差を計算します。この差は、カウントダウン文字列としてフォーマットされてから返されます。

function getTimeDifference(expirationTime) { 
    var now = Date.now(); 
    var diff = expirationTime - now; 
    var secDiff = Math.round(diff/1000); 
    var minDiff = Math.round(secDiff/60); 
    var diffStr = minDiff + ":" + (secDiff - minDiff * 60); 
    return diffStr 
} 
関連する問題