【问题标题】:Converting String to Date using Moment.js returning Invalid Date使用 Moment.js 将字符串转换为日期,返回无效日期
【发布时间】:2020-05-20 17:32:46
【问题描述】:

我正在尝试将日期数据添加到我的节点服务器中的 Mongoose 中,这来自一个将日期作为字符串发送的表单。我有以下代码:

    let ticket_data = req.body.ticket;
    console.log(ticket_data);
    ticket_data.due_date = moment(ticket_data.due_date, "MM-DD-YYYY").toDate(); 
    console.log(ticket_data.due_date);

console.logs 正在返回:

{ ticket_name: 'Ticket Name',
  assigned_user: '5ec2b8b38b2508027f2f0c90',
  due_date: '21. 5. 2020',
  description: 'This is a test ticket' }
Invalid Date

我不确定为什么要返回无效日期,格式似乎是正确的。这里有我遗漏的细节吗?谢谢!

【问题讨论】:

    标签: node.js mongoose momentjs


    【解决方案1】:

    尝试在 moment() 中指定格式,这是您收到的格式,以便在那一刻将其解析为有效日期。

    let data = "21. 5. 2020";
    let res = moment(data, "DD. M. YYYY"); // this will be valid moment date now
    console.log(res.format("DD-MM-YYYY"));
    <script src="https://momentjs.com/downloads/moment.js"></script>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-10
      • 1970-01-01
      • 2021-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-04
      相关资源
      最近更新 更多