我们正在从我正在从事的项目中的moment库迁移到date-fns。
我正在尝试找到一个解决方案来用 date-fns 替换它,但我没有成功:
timezone: moment().format('Z')
如果我将其替换为:
timezone: format(new Date(),'Z')
然后它就不起作用了。如果有人知道如何解决它,请告诉我。谢谢
最佳答案
可以这样完成:
timezone: format(new Date(),'XXX')
这可能对你有帮助,我在我的项目中更改了时刻数据,如下所示:
时刻数据:
import moment, { Moment } from 'moment/moment';
const DATE_FORMAT = 'YYYY-MM-DDTHH:mm:ss[Z]';
moment().endOf('day').format(DATE_FORMAT);
moment().subtract(13, 'days');
moment().subtract(1, 'months');
moment().subtract(1, 'years');
moment().subtract(1, 'years').startOf('year');
moment().endOf('year').format(DATE_FORMAT);
function getStartDate(date: Moment): string {
return date.startOf('day').format(DATE_FORMAT);
}
至
日期-fns数据:
import {
endOfDay,
endOfYear,
format,
startOfDay,
startOfYear,
subDays,
subMonths ,
subYears } from 'date-fns';
const DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ss'Z'";
format(endOfDay(new Date()), DATE_FORMAT);
subDays(new Date(Date.UTC(new Date().getUTCFullYear(), new Date().getUTCMonth(), new Date().getUTCDate())),
13);
subMonths(new Date(Date.UTC(new Date().getUTCFullYear(), new Date().getUTCMonth(), new Date().getUTCDate())),
1);
subYears(new Date(Date.UTC(new Date().getUTCFullYear(), new Date().getUTCMonth(), new Date().getUTCDate())),
1);
startOfYear(subYears(new Date(Date.UTC(new Date().getUTCFullYear(), new Date().getUTCMonth(), new Date().getUTCDate())),
1));
format(endOfYear(new Date()), DATE_FORMAT);
function getStartDate(date: Date): string {
return format(startOfDay(date), DATE_FORMAT);
}
关于javascript - 用 date-fns 替换时刻数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72302657/