【问题标题】:Deprecation warning: moment construction falls back to js Date in nodejs弃用警告:时刻构造回退到 nodejs 中的 js 日期
【发布时间】:2016-09-17 12:16:30
【问题描述】:

我在 nodejs 服务器中使用以下代码使用 moment 将字符串格式化为 ISO8601 标准

var dateStr = "2016-5-20 17:25:45";
var urecordtime=moment(dateStr).toISOString();

但我得到了

“弃用警告:时刻构造回退到 js 日期。不鼓励这样做,并将在即将发布的主要版本中删除。有关详细信息,请参阅 https://github.com/moment/moment/issues/1407。”

我该如何解决?

提前致谢。

【问题讨论】:

    标签: javascript node.js


    【解决方案1】:

    尝试将格式指定为第二个参数,这样库就不需要猜测实际格式:

    var m = moment("2016-5-20 17:25:45", "YYYY-M-D HH:mm:ss");
    var s = m.toISOString();
    

    来源:

    http://momentjs.com/docs/#/parsing/
    https://github.com/moment/moment/issues/1407

    【讨论】:

      【解决方案2】:

      警告消息基本上表示您当前传递的日期需要“格式”,尽管您的日期已格式化。请查看link

      我正在从日期中获取日期。转换后,当时我收到了这个警告信息。

      • 容易出现警告的代码: moment($("#payPeriodDate").val()).toDate().getDate()

      • 警告安全码: moment($("#payPeriodDate").val(), 'MM/DD/YYYY').toDate().getDate(); p>

      您需要提供格式和警告应该从控制台消失..!!

      感谢阅读,编码快乐..!!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-06-09
        • 2017-03-05
        • 1970-01-01
        • 2019-01-07
        • 2015-03-01
        • 1970-01-01
        • 2017-11-26
        相关资源
        最近更新 更多