尝试在moment.js中转换RFC2822日期时,出现“弃用警告:瞬间构造回退到JS日期" [英] “Deprecation warning: moment construction falls back to js Date” when trying to convert RFC2822 date in moment.js

查看:220
本文介绍了尝试在moment.js中转换RFC2822日期时,出现“弃用警告:瞬间构造回退到JS日期"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用以下代码,使用moment.js将服务器端日期时间转换为本地时间.

I am using the following code to convert a server-side date-time to local time using moment.js.

 moment(moment('Wed, 23 Apr 2014 09:54:51 +0000').format('lll')).fromNow()

但是我得到:

弃用警告:构建时间回落到js日期.不建议这样做,并将在即将发布的主要版本中将其删除.请参阅 https://github.com/moment/moment/issues/1407 更多信息.

看来我不能摆脱它!我该如何解决?

It seems I cannot get rid of it! How can I fix it?

推荐答案

要摆脱警告,您需要执行以下任一操作:

To get rid of the warning, you need to either:

  • 传入日期字符串的ISO格式版本:

  • Pass in an ISO formatted version of your date string:

moment('2014-04-23T09:54:51');

传入您现在拥有的字符串,但告诉Moment字符串采用的格式:

Pass in the string you have now, but tell Moment what format the string is in:

moment('Wed, 23 Apr 2014 09:54:51 +0000', 'ddd, DD MMM YYYY HH:mm:ss ZZ');

将字符串转换为JavaScript Date对象,然后将其传递给Moment:

Convert your string to a JavaScript Date object and then pass that into Moment:

moment(new Date('Wed, 23 Apr 2014 09:54:51 +0000'));

最后一个选项是Moment现在支持的内置回退,并且已弃用控制台警告.他们说他们不会在将来的版本中支持这种后备功能.他们解释说,使用new Date('my date')太不可预测了.

The last option is a built-in fallback that Moment supports for now, with the deprecated console warning. They say they won't support this fallback in future releases. They explain that using new Date('my date') is too unpredictable.

这篇关于尝试在moment.js中转换RFC2822日期时,出现“弃用警告:瞬间构造回退到JS日期"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆