gpt4 book ai didi

javascript - moment.js : Deprecation warning: value provided is not in a recognized RFC2822 or ISO format

转载 作者:行者123 更新时间:2023-12-02 22:35:28 24 4
gpt4 key购买 nike

我从外部源获取日期作为输入,它是一个字符串,

const a = '08-01-2019';

我所需的格式是“MM-DD-YYYY”,

const outputDateFormat = 'MM-DD-YYYY';

我正在使用 moment.js 并在该日期执行以下操作,例如添加一年和减少一天,

//adding a year 

const a = moment(a).add(1, 'years').add(-1, 'days').format(outputDateFormat);

对于上面的行,我得到,

Deprecation warning: value provided is not in a recognized RFC2822 or ISO format.
moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release.

我的意思是,使用 moment 转换为我的输出所需格式会给出已弃用的警告。

const finalDate = moment(a).format(outputDateFormat); - Resulting depricated warning

因此,我尝试使用如下的 new Date() 来避免警告。

//adding a year - approach #1

const a = moment(new Date(a)).add(1, 'years').add(-1, 'days').format(outputDateFormat);

这不会返回任何错误,但我不考虑 new Date() 的这种方法,因为我的代码应该跨时区和区域设置工作。如果我们使用 new Date() 代码可能无法跨时区和区域设置正常工作?有人可以建议吗?

所以,我遵循了这种方法#2,

//adding a year - approach #2

const a = moment('2019-01-08').add(1, 'years').add(-1, 'days').format(outputDateFormat);

我以“YYYY-MM-DD”形式给出日期格式,而不是输入日期格式“MM-DD-YYYY”。

这也是,不返回任何警告并且代码工作正常。这可以跨时区和区域设置吗?

任何人都可以建议我使用方法 #1 或 #2 来使我的代码跨时区/区域工作,而不会出现任何错误/momentjs 警告吗?

我需要使用 moment.utc在这里让代码跨时区工作?我认为 UTC 不是必需的,因为我没有任何与时间相关的验证。

我的意思是 moment.utc() 不是必需的,我想因为我没有时间组件,请提出建议。

moment.utc('2019-01-08').add(1, 'years').add(-1, 'days').format(outputDateFormat)

或者谁能提出比这更好的方法,使代码能够跨时区和区域设置而没有任何问题?

最佳答案

构造新的时刻对象时需要指定输入的格式

const moment = require('moment')

const a = '08-01-2019';
const outputDateFormat = 'MM-DD-YYYY';

const b = moment(a, 'MM-DD-YYYY').add(1, 'years').add(-1, 'days').format(outputDateFormat);
console.log(b);

关于javascript - moment.js : Deprecation warning: value provided is not in a recognized RFC2822 or ISO format,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58759601/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com