【问题标题】:Deprecation warning: moment construction falls back to js Date when I use moment.js to get current date弃用警告:当我使用 moment.js 获取当前日期时,moment 构造回退到 js Date
【发布时间】:2015-09-04 07:43:27
【问题描述】:

我使用 moment.js 来获取当前日期。这是代码:

$(document).ready(function() {
    var date = moment().format("YYYY/MM/DD");
    console.log(date);
    $('#calendar').fullCalendar({
        theme: true,
        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,agendaWeek,agendaDay'
        },
        defaultDate: date,
        editable: true,
        eventLimit: true // allow "more" link when too many event
    });

});

我在控制台中获得当前日期以及此警告:

Deprecation warning: moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.  

所以我添加了这样的 ISO 标签:

var date = moment().format("YYYY/MM/DD", "ddd, YYYY MM DD HH:mm:ss ZZ");  

但我得到了同样的警告。如何删除此警告?

【问题讨论】:

  • 你确定这是导致警告的行吗?我认为警告来自解析日期字符串,而不是来自格式化。
  • 我正在编辑问题并添加完整的代码......
  • 什么是fullCalendar()?你确定问题不是由这个引起的吗?因为您调用moment() 的方式不会产生该错误。首先记录的是什么:您的console.log(),还是弃用警告?
  • @robertklep: console.log 被首先记录
  • @AjayKulkarni 在这种情况下,可以公平地假设 fullCalender() 导致了弃用警告。

标签: javascript momentjs


【解决方案1】:

使用您上面的代码,我没有收到警告。我能够使用不同的语法引发警告:

// does not generate warning
var date1 = moment().format("YYYY/MM/DD");
console.log(date1);  

// generates warning
var date2 = moment("YYYY/MM/DD");
console.log(date2);

http://plnkr.co/edit/zHvLm3XPkWKLSRI50UON

【讨论】:

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