在javascript中使用localtimezone到date对象解析日期

时间:2014-06-05 05:08:45

标签: javascript timezone timezone-offset date-parsing

我想将日期解析为javascript日期对象。我使用以下

new Date(Date.parse('2012-08-01'))

问题是我的输入日期可以是多种格式,解析它应该总是给我一个日期对象,日期为

2012-08-01 00:00:00

在当地时区。

在不使用任何第三方库的情况下,javascript中有哪些可能的选项?

我有一个可能的解决方案。但我担心的是,我应该担心这在某些android / iphone / kindle / surface原生浏览器中不起作用吗?

var timezone = new Date().toString().match(/([A-Z]+[\+-][0-9]+)/)[1];
var dateObject = new Date(Date.parse('2012-08-01 '+timezone));

1 个答案:

答案 0 :(得分:1)

用正斜杠替换破折号,它将使用当地时间。如果您希望它能在任何地方使用,请务必使用yyyy/mm/dd订购。

您也无需明确调用Date.parse。传递字符串时,Date构造函数会执行此操作。

new Date('2012/08/01')  // local
new Date('2012-08-01')  // UTC

是的,JavaScript很奇怪。