【问题标题】:parse date with moment from GMT format使用 GMT 格式的时刻解析日期
【发布时间】:2020-02-06 03:09:39
【问题描述】:

我无法解析以下格式的日期“2020 年 2 月 4 日,下午 3:15:14 GMT-6”

我尝试指定格式但没有成功。

没有指定格式,我收到警告: 弃用警告:提供的值不是可识别的 RFC2822 或 ISO 格式。 如何从该字符串中获取解析日期?

谢谢。

【问题讨论】:

    标签: date momentjs


    【解决方案1】:

    不幸的是,Moment 没有像 GMT-6 这样的偏移量的解析令牌。偏移量必须至少为两位数才能正确使用Z 令牌。您可以在解析之前使用正则表达式替换来更改您的字符串。

    var input = 'February 4, 2020, 3:15:14 PM GMT-6';
    var adjusted = input.replace(/(GMT\+|-)([1-9])/, '$10$2');
    var m = moment.parseZone(adjusted, 'MMMM D, YYYY, h:mm:ss A [GMT]Z');
    
    m.format() //=> "2020-02-04T15:15:14-06:00"
    

    (可能对正则表达式进行改进,但这个可行。)

    【讨论】:

    • 感谢您告诉我。我以为我找不到让时刻解析它的方法。
    猜你喜欢
    • 1970-01-01
    • 2021-09-15
    • 1970-01-01
    • 2016-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多