gpt4 book ai didi

javascript - 使用 ISO-8601 格式的 date-fns 获取当前日期

转载 作者:数据小太阳 更新时间:2023-10-29 05:14:05 27 4
gpt4 key购买 nike

我想使用 date-fns 库获取当天最后一小时:分钟:秒的 ISO-8601 格式:

我正在使用:endOfDay(new Date());

2018 年 9 月 14 日星期五 23:59:59 GMT-0300

所以添加toISOString()得到ISO格式:endOfDay(new Date()).toISOString()

结果:2018-09-15T02:59:59.999Z

当我需要时:

2018-09-14T23:59:59.999Z

最佳答案

2018-09-14T23:59:59.999Z 不是 endOfDay(new Date()); 计算的一天结束时间。时间早了 3 小时。 “Z”表示 UTC,您本地的时区与 UTC -0300 有偏差。

通过执行 endOfDay,您可以获得一个日期值,您可以将其用于与其他日期值的比较和其他计算。它是具有本地时区时间的完整日期。

是否要在格式化字符串中保留同一天的数字?您可以将日期格式化为本地时区的 ISO 8601 字符串:

format(endOfDay(new Date()), 'yyyy-MM-dd\'T\'HH:mm:ssXX')
// Prints "2018-09-14T23:59:59.999-0300" in Brazil (BRT)

formatISO(endOfDay(new Date()))
// Prints "2018-09-14T23:59:59.999-03:00" in Brazil (BRT)

您想在 UTC 中以与今天相同的数字结束一天吗?如果您忽略一天相对于其他日期的实际结束时间,则只需将“当天的最后一秒”与“Z”连接起来即可:

format(new Date(), 'yyyy-MM-dd') + 'T23:59:59.999Z'
// Prints "2018-09-14T23:59:59.999Z" anywhere on Earth

注意:如果您使用 date-fns 1.x,请使用格式 yyyy-MM-DD[T]HH:mm:ssZZyyyy-上面模式中的 MM-DDsyntax changed在 2.x 版本中。另见 supported patterns ,您可以切换到您的 date-fns 版本。

关于javascript - 使用 ISO-8601 格式的 date-fns 获取当前日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52334494/

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