【问题标题】:Unable to parse date format in Javascript无法在 Javascript 中解析日期格式
【发布时间】:2013-06-18 20:18:38
【问题描述】:

我正在使用 D3 并尝试解析以下日期格式

2013-06-16T07:00:00+0000 

我尝试使用以下代码正确解析它,但它不起作用:

var parseDate = d3.time.format("%Y-%m-%d%H:%M+%S").parse;

我似乎无法正确破译甲酸盐以解析它。有谁知道编写这种日期格式的正确方法?

【问题讨论】:

    标签: javascript date formatting d3.js date-format


    【解决方案1】:

    该格式为ISO8601 / RFC3339,仅在较新的浏览器中受支持。请参阅 here 了解原生支持它的浏览器列表。

    通常,我的建议是使用moment.js。但既然你已经在使用 d3,你应该看看their reference for time formatting

    查看您的字符串,您似乎只是格式字符串错误。改为这样做:

    var dt = d3.time.format("%Y-%m-%dT%H:%M:%S%Z").parse('2013-06-16T07:00:00+0000');
    

    【讨论】:

    • 谢谢。尽管这是正确的格式,但请注意 d3 目前不支持 %Z 进行解析。作为一种解决方法,我将日期拆分为“+”并仅使用“%Y-%m-%dT%H:%M:%S”进行解析。 github.com/mbostock/d3/wiki/Time-Formatting#wiki-parse
    • 好的,但是您需要确保始终拥有+0000 而不是其他偏移量,并且您应该确保将其视为 UTC 而不是本地时间。如果 d3 做不到,那么看看 moment.js。
    猜你喜欢
    • 1970-01-01
    • 2019-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-10
    • 1970-01-01
    相关资源
    最近更新 更多