在计算年龄差异时得到警告?

时间:2018-11-14 09:13:05

标签: javascript angularjs momentjs angular-moment

在计算年龄差异时我正在警惕

这是我的代码 http://plnkr.co/edit/1wIvVISmgEqcRNnAD971?p=preview

  

moment.min.js:1弃用警告:提供的值不在   公认的RFC2822或ISO格式。瞬间的建设回落到js   Date(),在所有浏览器和所有版本中都不可靠。非   不建议使用RFC2822 / ISO日期格式,   即将发布的主要版本。请参阅   http://momentjs.com/guides/#/warnings/js-date/了解更多信息。   参数:[0] _isAMomentObject:true,_isUTC:false,_useUTC:false,   _l:未定义,_i:1983年2月9日,_f:未定义,_strict:未定义,_locale:[object Object]错误       在Function.createFromInputFallback(https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js:1:3368)       在Yt(https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js:1:21353)       在Ot(https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js:1:22064)       在Tt(https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js:1:22146)       在Nt(https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js:1:24464)       在M.ln.diff(https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js:1:29987)       在对象。 (http://run.plnkr.co/rVHCD6iVYofYv9Th/app.js:8:22)       在Object.invoke(https://code.angularjs.org/1.4.12/angular.js:4570:17)       在extend.instance(https://code.angularjs.org/1.4.12/angular.js:9435:34)       在nodeLinkFn(https://code.angularjs.org/1.4.12/angular.js:8540:34

我就是这样

let DOB= "09-Feb-1983"
console.log(moment(DOB, 'DD-MMM-YYYY', true).isValid())
console.log(moment().format('DD-MMM-YYYY'));
console.log(moment().diff('09-Feb-1983', 'years'))

如何删除此警告,我已经指定了格式

1 个答案:

答案 0 :(得分:2)

您可以将字符串转换为一小段时间,然后再将其传递到diff()函数中。

尝试这样

let DOB= "09-Feb-1983"
console.log(moment(DOB, 'DD-MMM-YYYY', true).isValid())
console.log(moment().format('DD-MMM-YYYY'));
console.log(moment().diff(moment('09-Feb-1983', 'DD-MMM-YYYY'), 'years'));