javascript - 使用 ISO-8601 格式的 date-fns 获取当前日期
问题描述
我想使用 date-fns lib 获取从当天开始的最后一小时:分钟:秒的 ISO-8601 格式:
我在用着:
endOfDay(new Date());
Fri Sep 14 2018 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:ssZZ')
// Prints "2018-09-14T23:59:59.999-0300" 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
为。YYYY
另请参阅下面的评论。
推荐阅读
- python - 从 Discord.py 执行 Python 命令
- ansible - 将 If-else shell 转换为 Ansible
- python - 我们如何解决 coda 中的多个包冲突
- python - 在 selenium python webdriver 中查找元素时出错
- asynchronous - 总是返回 Ok HttpResponse 然后在 actix-web 处理程序中工作
- python - ValueError:列必须与熊猫中的键长度相同
- reactjs - 材质 UI:无法读取未定义的属性“按钮”
- kubernetes - 将多个容器放在一个 pod 中有什么好处?
- javascript - 使用 Zapier 的 Code 格式化邮政编码
- r - 减去R中2个表之间的范围