【发布时间】:2021-01-22 17:55:28
【问题描述】:
我的代码应该在给定“值”变量的情况下显示以以下日期格式“DD/MM/YY - HH:mm:ss”格式的该值(如果值是有效的日期时间),或者只是显示值本身(如果值不是有效的日期时间)。
为此,我使用了 moment.js 中的 isValid() 方法。我使用这种方法来检查 value 是否是有效的日期时间,然后显示预期的结果。
我的问题是,当值采用无效的日期形式时,Moment 会不断返回此弃用警告。
弃用警告:提供的值不是可识别的 RFC2822 或 ISO 格式。 moment 构造回退到 js Date(),这在所有浏览器和版本中并不可靠。不鼓励使用非 RFC2822/ISO 日期格式,并将在即将发布的主要版本中删除。请参阅http://momentjs.com/guides/#/warnings/js-date/ 了解更多信息。 论据: [0] _isAMomentObject: true, _isUTC: false, _useUTC: false, _l: undefined, _i: , _f: undefined, _strict: undefined, _locale: [object Object]
有谁知道如何避免这个警告?
这是我的代码:
let value = "300";
// sometimes value will be "2020-01-15T11:13:20.960429-03:00", for example - which is a valid date
console.log(
moment(value).isValid() ? moment(value).format("DD/MM/YY - HH:mm:ss") : value
);
codeandbox 链接:https://codesandbox.io/s/modern-resonance-tu68c?file=/src/index.js
提前致谢!
【问题讨论】:
标签: javascript momentjs