代码之家  ›  专栏  ›  技术社区  ›  Adam Jungen

如何将无效的日期字符串转换为Javascript日期

  •  -1
  • Adam Jungen  · 技术社区  · 6 年前

    我从REST API获取无效的日期字符串,但可能无法修复REST API。如何格式化“20180517T010237”这样的无效日期字符串?

    我试着利用这一刻,但没能成功。

    let date = moment("20180517T010237", "YYYY-MM-DD T HH.mm.ss").toDate();
    

    有什么简单的方法吗?

    1 回复  |  直到 6 年前
        1
  •  8
  •   T.J. Crowder    6 年前

    你通过的第二根绳子 moment 是要分析的字符串的格式。您的格式字符串已被删除 - 以及输入中没有的空格。删除它们:

    let date = moment("20180517T010237", "YYYYMMDDTHHmmss").toDate();
    

    请注意,它将在本地时间进行解析。如果您想要UTC,请使用 moment.utc :

    let date = moment.utc("20180517T010237", "YYYYMMDDTHHmmss").toDate();
    

    例子:

    let date = moment("20180517T010237", "YYYYMMDDTHHmmss").toDate();
    console.log(date);
    
    date = moment.utc("20180517T010237", "YYYYMMDDTHHmmss").toDate();
    console.log(date);
    <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.min.js"></script>