解析带不同时区的字符串日期

问题描述:

我试图能够使用许多不同格式的字符串,并在不同的时区,并将它们转换为UTC或本地时间。我曾尝试以下,由于某种原因它给了我一个小时时间休息:解析带不同时区的字符串日期

var moment = require('moment'); 
console.log(moment('Mon, 30 Sep 2013 18:00:00 EST').format()); //2013-09-30T16:00:00-07:00 

console.log(new Date('Mon, 30 Sep 2013 18:00:00 EST')); //Mon Sep 30 2013 16:00:00 GMT-0700 (PDT) 

console.log(new Date()); //Mon Sep 30 2013 15:00:00 GMT-0700 (PDT) 

我能想到的唯一可能导致这天灯节省时间,但我不知道。有关如何进行的任何建议?

您使用了错误的时区。对于一个苹果对苹果的比较,使用EDT(东部夏令时间):

> console.log(new Date('Mon, 30 Sep 2013 18:00:00 EDT')); 
Mon Sep 30 2013 15:00:00 GMT-0700 (PDT) 

这是你所期望的(3小时的时差)

+0

谢谢,我只是真的看到了这一点。不能相信我没有看到这个 – Jacinto

+0

@Jacinto不幸的JS日期处理是可怕的(时刻有所帮助) – SheetJS