我想将日期解析为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));
答案 0 :(得分:1)
用正斜杠替换破折号,它将使用当地时间。如果您希望它能在任何地方使用,请务必使用yyyy/mm/dd
订购。
您也无需明确调用Date.parse
。传递字符串时,Date
构造函数会执行此操作。
new Date('2012/08/01') // local
new Date('2012-08-01') // UTC
是的,JavaScript很奇怪。