2016-05-02 20 views
1

私のユーザーの中には、出力が1日ずれていると報告しているものがあります。moment.js 1日分のオフセット

コード:

var call=[1451084400000,1451170800000,1451257200000,1451343600000,1451430000000,1451516400000,1451602800000,1451689200000,1451775600000] 

    var arrayLength = call.length; 
    for (var i = 0; i < arrayLength; i++) { 
    document.getElementById('output').innerHTML += moment(call[i],"x").format("YYYY-MM-DD")+"<br>" 
    } 

期待される結果:

2015-12-26 
2015-12-27 
2015-12-28 
2015-12-29 
2015-12-30 
2015-12-31 
2016-01-01 
2016-01-02 
2016-01-03 

が問題:

2015-12-25 
2015-12-26 
2015-12-27 
2015-12-28 
2015-12-29 
2015-12-30 
2015-12-31 
2016-01-01 
2016-01-02 

任意のアイデアなぜですか?

+0

タイムゾーンオフセットに関連する可能性があります。実際のミリ秒数を記録することができれば、値が同じであることが分かります。時間帯に基づいて日の境界にたどり着いているだけです。 – ArcSine

+0

正確な重複はありませんが(moment.jsは使用しません)同じ問題です:[*なぜ新しいDate()は1日を削除するのですか?*](http://stackoverflow.com/questions/36698286/why-新しい日付削除 - 日 - ジャバスクリプト)。 – RobG

+2

http://stackoverflow.com/questions/36165182/strange-behavior-formatting-moment-js-date/36168554#36168554も参照してください。これは瞬間的な質問/回答です。基本的には、moment.utc()が必要です。 –

答えて

0

希望するタイムゾーンに変換してください。ロンドンのタイムゾーンは、次のようになります。

date.clone().tz("Europe/London"); 
+0

1.私はこれを普遍的にしたいと考えています 2.ユーザーは一日ではなくtz + 3/+ 2時間にあります。 –

+0

時々、数時間の違いのために1日を追加することがあります。タイムゾーンを定義するのを忘れないでください。あなたは決して問題がありません。 –

+0

大丈夫ですが、各日付にtzを追加すると、たくさんありますが、スクリプトをたくさん遅くします –

関連する問題