第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將時區(qū)信息添加到現(xiàn)有 time.Time

如何將時區(qū)信息添加到現(xiàn)有 time.Time

Go
紅糖糍粑 2023-07-31 16:41:20
假設(shè)我有以下內(nèi)容:Postgres 數(shù)據(jù)庫中帶有列的表TIMESTAMP。數(shù)據(jù)庫時區(qū)設(shè)置為 UTC 以外的時間。一些使用CURRENT_TIMESTAMPor插入時間戳值的 SQL 語句NOW()正如 Postgres 文檔中所述:CURRENT_TIMESTAMP() 函數(shù)返回一個帶有時區(qū)的 TIMESTAMP,表示事務(wù)開始的日期和時間。因此,以下語句默默地將本地時間戳轉(zhuǎn)換為絕對時間戳:INSERT INTO foo (id, timestamp_column) VALUES (0, CURRENT_TIMESTAMP);假設(shè) Go 程序?qū)⒋藬?shù)據(jù)讀入一個time.Time對象,該對象將有一個空Location:fmt.Println(timeFromDb.Location().String() == "") // true它被解釋為 UTC。此時我確實知道 Go 時間timeFromDb實際上不是 UTC,而且我也知道數(shù)據(jù)庫時區(qū)設(shè)置是什么。如何在這個時間對象中設(shè)置正確的時區(qū)?在實踐中:// beforefmt.Println(timeFromDb)            // 2009-11-10 10:00:00fmt.Println(timeFromDb.Location()) // <empty>fmt.Println(timeFromDb.UTC())      // 2009-11-10 10:00:00// magic?// afterfmt.Println(timeFromDb)            // 2009-11-10 10:00:00fmt.Println(timeFromDb.Location()) // America/Vancouverfmt.Println(timeFromDb.UTC())      // 2009-11-10 18:00:00
查看完整描述

1 回答

?
鴻蒙傳說

TA貢獻(xiàn)1865條經(jīng)驗 獲得超7個贊

你可以重新解釋一下:


loc,_:=time.LoadLocation("America/Vancouver")

t2:=timeFromDb.In(loc)

_,off:=t2.Zone()

theTime:=t2.Add(-time.Duration(off)*time.Second)

您還可以進(jìn)行一些字符串操作,但我懷疑這更快。


查看完整回答
反對 回復(fù) 2023-07-31
  • 1 回答
  • 0 關(guān)注
  • 115 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號