【问题标题】:date-fns How to get the end of day with the format 00:00:00 insted of 23:59:59date-fns 如何以 23:59:59 的 00:00:00 格式获取一天的结束
【发布时间】:2021-09-04 21:15:30
【问题描述】:

我正在用 date-fns 替换 moment,我希望 endOfDay 的格式与 moment.js 一样。

我的意思是 moment.js 给了我这个 00:00:00 date-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

我没有写两个函数的完整输出,只是小时:分钟:秒

【问题讨论】:

  • 一些代码在这里会有所帮助

标签: javascript momentjs date-fns


【解决方案1】:

根据文档


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() :)

【讨论】:

  • 谢谢。我是一天的开始,但我需要一周、一个月等的结束和开始。如果我使用一天的开始,它会在之后的一天。
【解决方案2】:

这不是由于 moment.js:而是由于 .startOf()

您建议 moment 给出一天结束的 0:00,但您的代码显示它不是。

您已经询问了一天的结束然后询问了当天的开始的时刻。

//                        *******
moment().endOf('isoWeek').startOf('day').toDate()
//output: 00:00:00        *******

使用 datefns 实现这一目标

你能在datefns中使用类似的结构吗?

例如,这对你有用吗?

export const thisWeekEndOn = () => endOfWeek(NEW_DATE, {weekStartsOn: monday});

还是这个?

export const thisWeekEndOn = () => startOfDay(endOfWeek(NEW_DATE, {weekStartsOn: monday}));

【讨论】:

  • 这不是我的代码。当我控制台时刻函数时,我得到的输出是 00:00:00。我很惊讶,但因为它告诉我,我试图从 date-fns 中得到相同的结果,以保持与 moment 相同的结果。我负责用 date-fns 替换时刻,这是我第一次使用两者。
  • 更新:如果有效,请标记为正确。
  • export const thisWeekEndOn = () => { return endOfWeek(NEW_DATE, {weekStartsOn: monday}); } 这对我有用。
  • 啊,太好了!这更清楚你的目标是什么。如果它现在反映了正确的答案,最好将其标记为正确。
  • 尤里卡我想知道怎么做... :)
猜你喜欢
  • 2021-07-05
  • 1970-01-01
  • 2015-03-21
  • 2014-08-09
  • 2021-12-09
  • 1970-01-01
  • 1970-01-01
  • 2013-12-06
  • 2021-06-11
相关资源
最近更新 更多