2017-08-21 18 views
0

jquery countdown.jsを使用して日食にカウントダウンしています。すべてのものがデスクトップ上で正しくカウントされます。モバイル(アンドロイド)では、カウントダウンは1時間先です。他の人の携帯電話では、カウントダウンに0時間が表示されます。私は間違って何をしていますか?私はタイムゾーンを考慮していませんか?それは重要ですか?カウントダウンは日食(今から4時間以内)ですから、本当に助けをすぐに使うことができます!javascripts/jquery countdownがモバイルで間違った時間を与えている

var date = new Date("2017-08-21T13:18:00"); //1:18 p.m. EST 

$("#dayElem") 
    .countdown(date, function(event) { 
    if (event.strftime('%-D') < 10) { 
     $(this).text('0' + 
      event.strftime('%-D') 
     ); 
    } else { 
     $(this).text(
      event.strftime('%-D') 
     ); 
    } 
    }); 

    $("#hourElem") 
    .countdown(date, function(event) { 
    if (event.strftime('%-H') < 10) { 
     $(this).text('0' + 
      event.strftime('%-H') 
     ); 
    } else { 
     $(this).text(
      event.strftime('%-H') 
     ); 
    } 
    }); 
    $("#minuteElem") 
    .countdown(date, function(event) { 
    if (event.strftime('%-M') < 10) { 
     $(this).text('0' + 
      event.strftime('%-M') 
     ); 
    } else { 
     $(this).text(
      event.strftime('%-M') 
     ); 
    } 
    }); 
    $("#secondElem") 
    .countdown(date, function(event) { 

    if (event.strftime('%-S') < 10) { 
     $(this).text('0' + 
      event.strftime('%-S') 
     ); 
     } else { 
     $(this).text(
      event.strftime('%-S') 
     ); 
     } 

    }); 

答えて

0

私はあなたの前提が正しいと思います。現在のタイムゾーンを考慮する必要があります。これを実現する 最も簡単な方法は、moment.js(https://momentjs.com/)を使用して、このようなコードを変更することです:

var date = moment.utc('2017-08-21T17:18:00').toDate(); 

$("#dayElem") 
     .countdown(date, function (event) { 
      if (event.strftime('%-D') < 10) { 
       $(this).text('0' + 
         event.strftime('%-D') 
         ); 
      } else { 
       $(this).text(
         event.strftime('%-D') 
         ); 
      } 
     }); 

$("#hourElem") 
     .countdown(date, function (event) { 
      if (event.strftime('%-H') < 10) { 
       $(this).text('0' + 
         event.strftime('%-H') 
         ); 
      } else { 
       $(this).text(
         event.strftime('%-H') 
         ); 
      } 
     }); 
$("#minuteElem") 
     .countdown(date, function (event) { 
      if (event.strftime('%-M') < 10) { 
       $(this).text('0' + 
         event.strftime('%-M') 
         ); 
      } else { 
       $(this).text(
         event.strftime('%-M') 
         ); 
      } 
     }); 
$("#secondElem") 
     .countdown(date, function (event) { 

      if (event.strftime('%-S') < 10) { 
       $(this).text('0' + 
         event.strftime('%-S') 
         ); 
      } else { 
       $(this).text(
         event.strftime('%-S') 
         ); 
      } 

     }); 

はまた、私はUTCの代わりに、ESTで時間を指定したことに注意してください。

タイムゾーンCETでコードを実行しているとき、私はゼロしか得ていません。上記のコードを使用すると、私はこれを投稿した時点で約3時間10分を得ました。

関連する問題