【发布时间】:2018-12-17 10:18:37
【问题描述】:
我正在使用 Moment JS 并且遇到了一些 catch 22 的情况(但我假设是可以修复的,只是我不知道如何解决)。
Moment JS 给了我以前没有收到的弃用警告(我猜是在弃用之前),因此如果我尝试以下操作。
moment(‘7/4/2018 6:00 AM’).locale(userLocale).format('YYYY-MM-DD HH:mm:ss’);
我收到警告
moment.min.js:1 弃用警告:提供的值不在 认可的 RFC2822 或 ISO 格式。时刻构建回退到 js Date(),它在所有浏览器和版本中都不可靠。非 不鼓励使用 RFC2822/ISO 日期格式,并将在 即将发布的主要版本。请参阅 http://momentjs.com/guides/#/warnings/js-date/ 了解更多信息。
尽管有此警告,但我的日期设置正确,并且应用了正确的语言环境时间。但是由于警告,我有点担心,因此想修复它。
从以下建议我应该在我的 Moment 定义中使用 String + 格式。
Deprecation warning in moment js
但是如果我尝试
moment(‘7/4/2018 6:00 AM’,'YYYY-MM-DD HH:mm:ss').locale(userLocale)
它将我的 Moment 设置为不正确的毫秒值。它将它设置为 61936855125000,这是 3932 年 9 月 13 日星期二 6:58:45 PM GMT+01:00 DST 的纪元
如果我希望将 .locale() 与我的时刻一起使用,我怎样才能正确地创建我的时刻而不会引发此弃用警告?
对此的任何帮助将不胜感激。我希望这个问题有意义。
【问题讨论】:
-
好吧,您给它的日期格式与实际日期字符串不匹配。您提供的日期格式类似于“2018-07-04 06:00:00”。
-
@RedQueries 你检查我的答案吗?
标签: javascript momentjs locale