我正在替换逐日期的fns,我希望将endOfDay格式化为moment.js。
我是说moment.js给了我这个00:00:00日期fns给我这个23:59:59
moment.js
moment().endOf('isoWeek').startOf('day').toDate()
//output: 00:00:00
日期fns
export const thisWeekEndOn = () => {
return endOfWeek(NEW_DATE, {weekStartsOn: monday});
}
//output: 23:59:59
我不是在写这两个函数的全部输出,只是小时:分钟:秒
根据文档
endOfDay()
返回23:59:59.999
:
// The end of a day for 2 September 2014 11:55:00:
const result = endOfDay(new Date(2014, 8, 2, 11, 55, 0))
//=> Tue Sep 02 2014 23:59:59.999
文档:https://date-fns.org/v2.22.1/docs/endOfDay
当startOfDay()
返回00:00:00
时
// The start of a day for 2 September 2014 11:55:00:
const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
//=> Tue Sep 02 2014 00:00:00
文档:https://date-fns.org/v2.22.1/docs/startOfDay
如果您想要00:00:00
而不是endOfDay()
,则可能需要使用startOfDay()
:(
它不是由moment.js引起的:它是由.startOf((引起的
您建议moment
在一天结束时给出0:00,但您的代码显示它不是。
你要求一天结束,然后要求一天开始的时间。
// *******
moment().endOf('isoWeek').startOf('day').toDate()
//output: 00:00:00 *******
通过日期实现这一点
你能在datefns
中使用类似的结构吗?
例如,这对你有用吗?
export const thisWeekEndOn = () => endOfWeek(NEW_DATE, {weekStartsOn: monday});
还是这个?
export const thisWeekEndOn = () => startOfDay(endOfWeek(NEW_DATE, {weekStartsOn: monday}));