[英]Timezone independent dates javascript
使用 javascript/react native + redux 我需要以一種時間格式保存時間戳,該格式在保存日期時知道本地時間,但在另一個時區讀取相同日期時不知道。
假設一位用戶在一天內向西環游世界,每小時保存一個時間戳,所有不同的時區,時間均為當地時間 2021 年 1 月 30 日 18:00。 在 18:00 產生 24 個時間戳。
在date- fns 中的isWithinInterval中使用 function 以類似於下面的方式,所有時間戳都應該返回 true。
isWithinInterval(
timestamp,
{start: new Date(2021,0,30,17,30}, end: new Date(2021,0,30,18,30)},
) // -> true
一個 go 如何做到這一點? 最好采用 react-redux 兼容(可序列化)方式。 默認情況下,您的日期 object 將根據您設備上的本地時間以 UTC 格式保存。
我很難理解日期對象,以至於我花了很長時間才明白這個問題實際上是“date-fns-tz”package 的全部內容。 這就是我目前解決它的方式:
import {zonedTimeToUtc} from "date-fns-tz"
const myDate = new Date() // eg 2021-02-03 10:00 UTC +5
const localTimeIdenticalUtc = zonedTimeToUtc(localDateObject, localTimeZone) // 2021-02-03 10:00 UTC +-0
import {utcToZonedTime } from "date-fns-tz"
const zonedTimeToUtc(localTimeIdenticalUtc, localTimeZone) // 2021-02-03 10:00 UTC +5
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.