如何解决date-fns-timezone结果不正确?
现在是太平洋标准时间2020年8月30日(星期日)下午5:20。
如果我运行此命令:
import {formatToTimeZone } from 'date-fns-timezone';
const dateNow = new Date();
const timeFormattedForUserTimezone = formatToTimeZone(dateNow,'h:mm A z,MMM do,YYYY',{timeZone:'Europe/Berlin'})
...我在timeFormattedForUserTimezone
中得到了这个信息:
CEST,2020年8月1日,上午2:20
Google表示不同意,并告诉我在柏林的时间是:
2020年8月31日上午2:23
...即是8月31日而不是8月1日。
我想念什么?
解决方法
您的时间字符串是'h:mm A z,MMM do,YYYY'
,它使用的是do
的{{1}}。
请改用Day of week
(请注意'h:mm A z,MMM Do,YYYY'
中大写的D
代表Do
)。
此处的文档:https://github.com/prantlf/date-fns-timezone/blob/master/docs/API.md#formattotimezone
因此您的代码变为:
Day of month
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。