gpt4 book ai didi

javascript - JS : parse time to pull out hours and minutes using date-fns, 忽略时区

转载 作者:行者123 更新时间:2023-11-30 19:02:39 24 4
gpt4 key购买 nike

我的后端向我发送以下格式的时间戳:2019-12-15T20:00:00.000Z,这是 UTC 时间。现在我需要的是在不修改时区的情况下提取时间。我正在使用 date-fns 但每次我尝试获取时间时,我要么得到一个 Invalid Date 要么将时间修改为本地时区。现在我的代码是:

import { format, parse, parseISO } from 'date-fns'

format(parseISO('2019-12-15T20:00:00.000Z'), 'h:mm a')

我想要的是:8:00 PM 但我得到的是 3:00 PM 因为它从 UTC 转换为 EST 时间(我本地的时区)。我知道我可以做 IsoString 之类的事情,然后解析字符串,但我正在寻找一种使用 date-fns 来完成它的方法,这样我就不必编写自定义字符串解析器。必须有一种简单的方法来忽略时区吗?

最佳答案

我将回答我自己的问题,如果它对某人有帮助,我将如何让它发挥作用,但我仍在寻找是否有更好的替代方法来替代仅使用 date-fns,因为我的方法似乎有点老套:

我所做的是从 ISO 字符串中删除时区,然后将那个时间与 date-fns 一起使用:

let time = "2019-12-15T20:00:00.000Z".slice(0, -5)

上面是没有时区的时间,因为没有时区,date-fns 假定本地时区,所以当你这样做时:

format(parseISO(time), 'h:mm a')

您将获得:8:00 PM,或您喜欢的任何格式。你只需要小心你正在切片的字符串。如果它总是相同的格式那么它应该工作。

关于javascript - JS : parse time to pull out hours and minutes using date-fns, 忽略时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59345759/

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