在JavaScript中解析Python日期时间字符串

5
我需要将由Python生成的日期时间字符串解析为Javascript Date对象。我采用了最简单的方法:
在Python中:
dstring = str(mydate)

例子字符串 = '2012-05-16 19:20:35.243710-04:00'
在Javascript中(使用datejs库):
d = new Date(dstring);

这在Chrome中可以得到一个正确的日期对象,但在Firefox和Safari(Mac上)会出现“无效日期”错误。

可能是重复的问题:javascript dates in IE, NAN - firefox & chrome ok - Falmarri
1个回答

1
你需要将字符串解析为JS日期。 Date 构造函数是不够的。也许你应该考虑使用像 datejs 这样的库:

http://www.datejs.com/

Datejs通过添加有用的方法扩展了Date对象,例如:

Date.parse('Thu, 1 July 2004 22:30:00');

毫无疑问,日期/时间格式是可定制的。


事实上,我已经在使用datejs了-甚至没有意识到,我已经更新了我的问题。所以这个库本身在ffox / safari中不起作用? - Yarin
但是,如果您按照您在帖子中所说的方式调用它,则是错误的。您应该按照我的答案所示进行操作:d = Date.parse('...'); - ubik
@Yarin,因为你的日期格式是datejs无法识别的。尝试只保留日期字符串的前19个字符(date_string.slice(0,19)),它应该可以工作。 - ubik
但是这样会丢失时区信息- 必须有一种方法来解析ISO日期。 - Yarin
实际上,对于这种情况,我可以忽略时区,所以这个问题已经解决了。谢谢Pedro,你太棒了! - Yarin
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接