在javascript中读取具有不同时区的日期字符串

时间:2011-09-27 20:47:32

标签: javascript timezone datejs

我有一个来自外部源的日期字符串,如下所示:

9/25/2011 4:38:40 PM

PDT时区中的来源。

我想使用date.js从该信息中创建UTC日期。我正在使用此代码来解析它:

var dateString = '9/25/2011 4:38:40 PM';
var d = Date.parseExact('9/25/2011 4:38:40 PM', 'M/d/yyyy H:m:s tt');

虽然这确实加载了日期,但它确实是在我的时区中。我怎么能告诉date.js我告诉它的日期来自不同的时区?

3 个答案:

答案 0 :(得分:1)

以日期格式输入e将表示时区。我没有测试过这个,但是:

Date.parseExact(dateString + " PDT", "M/d/yyyy H:m:s tt e")

不考虑夏令时的时间转换(PST而不是PDT),但是你得到了要点。

答案 1 :(得分:1)

使用时区格式说明符...

var dateString = '9/25/2011 4:38:40 PM EST';
var d = Date.parseExact(dateString, 'M/d/yyyy H:m:s tt Z');

答案 2 :(得分:0)

你尝试过这样的事吗?:

var dateString = '9/25/2011 4:38:40 PM';

var date = Date.parseExact(dateString, format);
var utc_date = new Date(date.getTime() - (date.getTimezoneOffset() * 60000))