我有一個方法,可以得到一個時間字串 "15:35"。這個時間是在UTC時區。但我想把它轉換成不同的時區,例如(美國/紐約或...)。例子說有一個 "moment "包有 "tz "方法,但我檢查了一下,那個包里沒有。另外,我不能更新軟體包或安裝一個軟體包。我怎樣才能在不決議的情況下將給定的時間轉換成給定的時區?
例子:給定的 "18:35 "在UTC -> 預期的14:35在美國/紐約
。uj5u.com熱心網友回復:
我建議你使用moment,因為如果與純javascript/typescript相比,它非常容易使用。
你可以用下面的方法來做:
你可以用下面的方法來做。
moment.tz.setDefault(String)
在你的案例中,你可以通過以下方式將時區設定為美國/紐約:
moment.tz.setDefault("America/New_York"/span>)
您可以在https://momentjs.com/timezone/docs/#/using-timezones/default-timezone/
uj5u.com熱心網友回復:
我不太明白為什么你不能安裝一個包。 如果你能夠使用 moment.js(我推薦使用),并且你的字串不是日期字串(比如 "2021-09-22T15:35:00Z"),你可以這樣來解決:
function changeDatetimeByTimezone(datetime, timezone) {
const parsedDateAsUtc = moment.utc()
.startOf('day')
.add(datetime.substring(0, 2), "hours")
.add(datetime.substring(3, 5), "minutes") 。
return parsedDateAsUtc.clone()。 tz(timezone).format("hh:mm")。
}
然后這樣使用:
const dateTimeNY = changeDatetimeByTimezone("15。 35", "America/New_York"); // 11: 35
const dateTimeBE = changeDatetimeByTimezone("15: 35", "Europe/Berlin"); // 17: 35
uj5u.com熱心網友回復:
安裝moment-timezone包。它將有助于轉換時間。參考下面的鏈接。
https://momentjs.com/timezone/
如何使用:
1.在你的組件檔案的頂部匯入以下兩個包。
import moment from "moment" 。
import 'moment-timezone';
2.按如下方式轉換時間。
var localTime = moment. utc('18:35', "HH:mm") 。 tz('America/New_York').format("HH:mm") 。
console.log(localTime)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/334273.html
標籤:
下一篇:在反應功能組件中呼叫函式
