2016-04-22 12 views
0

なぜ返されるのはFri, 22 Apr 2016 13:01:00 GMTですか?モーメント/タイムゾーン - 日付をUnixに変換する

Fri, 22 Apr 2016 17:01:00 GMT(時間帯に4時間が追加されています)?

var zone = "America/New_York"; 
var date = 'Fri, 22 Apr 2016 13:01'; 
$('#ts').text(moment.tz(date, zone).unix()); // 1461330060 
// epochconverter.com (1461330060) --> Fri, 22 Apr 2016 13:01:00 GMT ?!! 

jsfiddle

編集:更新fiddle。私がFri, 22 Apr 2016 13:01を渡すと、今度はFri, 22 Apr 2016 12:01:00 GMTが吐き出されるので、UTCのDSTは無視されますが、なぜそれが返されないのかは分かりません。Fri, 22 Apr 2016 17:01:00 GMT

答えて

0

私は問題が、米国に拠点を置く可能性のあるjsfiddleを使用していたと思いますので、現時点ではローカリゼーションを使用していました。

私は(ロンドン、英国に拠点を置く)私のノードサーバ上で、次のと私は worldtimebuddy.com/est-to-utc-converterに結果を比較するときは、次のコードが動作するようになりました

var unix = moment.tz('2016-04-22T15:00', "America/New_York").unix(); 
var zulu = moment.utc(unix, 'X').format(); 
var local= new Date(zulu).toString(); 

console.log(unix); // 1461351600 (epochconverter.com --> Fri, 22 Apr 2016 19:00:00 GMT) 
console.log(zulu); // 2016-04-22T19:00:00Z 
console.log(local); // Fri Apr 22 2016 20:00:00 GMT+0100 (GMT Daylight Time) 

概要を、時間が正しく変換されます。

  • ニューヨーク=午後03時○○
  • ズールー/ UTC =午後7時
  • 英国(DST)= 20時
関連する問題