使用格式

时间:2015-12-30 00:39:48

标签: jquery date momentjs

我想知道上面提到的弃用方法对于我的momentJS方法意味着什么,以及我可以做些什么来正确地格式化我的值。我的日期值格式为2015-12-11 00:00:00。我正在尝试将它们转换为适当的字段格式YYYY-MM-DD。我下面的jQuery允许我以正确的格式转换我的日期值而没有任何问题,但我在控制台日志中收到以下警告。这意味着什么?

jQuery的:

<script type="text/javascript">
    $(document).ready(function() {
        $("#test-form-date").val( moment("{{test.testDate}}").format('YYYY-MM-DD') );
        $("#data-date-start").val( moment("{{test.testDateStart}}").format('YYYY-MM-DD') );
        $("#data-date-end").val( moment("{{test.testDateEnd}}").format('YYYY-MM-DD') );
    });
    </script>

以下是要修改的表单:

<div class="test-form-header">
    <input type="date" name="testDate" id="test-form-date" value="{{test.testDate}}">
</div>
</br>
<div class="form-inline date-start">
    <label for="data-start-range">Data Date Start:</label>
    <input type="date" id="data-date-start" name="dataDateStart" value="{{test.dataDateStart}}">
</div>
<div class="form-inline date-end">
    <label for="data-end-range">Data Date End:</label>
    <input type="date" id="data-date-end" name="dataDateEnd" value="{{test.dataDateEnd}}">
</div>

以下是对控制台日志的警告:

  

指定值“Sun Dec 27 2015 19:00:00 GMT-0500(EST)”没有   符合所需的格式,“yyyy-MM-dd”。 10:60指定的   价值“Wed Sep 30 2015 20:00:00 GMT-0400(EDT)”不符合   所需的格式,“yyyy-MM-dd”。 10:64指定的值“Thu Dec   03 2015 19:00:00 GMT-0500(EST)“不符合要求   格式,“yyyy-MM-dd”。 moment.js:737弃用警告:时刻   建设可以追溯到日期。这是沮丧的,并且将是   在即将发布的主要版本中删请参阅   https://github.com/moment/moment/issues/1407了解更多信息。

错误

at Function.createFromInputFallback (http://momentjs.com/downloads/moment.js:746:36)
at configFromString (http://momentjs.com/downloads/moment.js:826:32)
at configFromInput (http://momentjs.com/downloads/moment.js:1353:13)
at prepareConfig (http://momentjs.com/downloads/moment.js:1340:13)
at createFromConfig (http://momentjs.com/downloads/moment.js:1307:44)
at createLocalOrUTC (http://momentjs.com/downloads/moment.js:1385:16)
at local__createLocal (http://momentjs.com/downloads/moment.js:1389:16)
at utils_hooks__hooks (http://momentjs.com/downloads/moment.js:16:29)
at HTMLDocument.<anonymous> (http://localhost:3000/app/edit/10:87:38)
at j

https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js:2:26925

1 个答案:

答案 0 :(得分:3)

将此添加到您的代码中。

moment.createFromInputFallback = function(config) {
  // unreliable string magic, or
  config._d = new Date(config._i);
};
$("#test-form-date").val( moment("{{test.testDate}}").format('YYYY-MM-DD') );

发生错误是因为,

  

使用非iso字符串的时刻构建已弃用。

有关详情,请阅读Be careful when falling back to Date constructor