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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Golang 的夏令時(shí)

Golang 的夏令時(shí)

Go
元芳怎么了 2021-09-21 17:39:41
我一直在為調(diào)度界面設(shè)計(jì)一個(gè) UI,用戶可以在其中設(shè)置未來幾個(gè)小時(shí)的計(jì)時(shí)器。如果可能的話,我希望能夠處理夏令時(shí),我認(rèn)為這很簡單。在檢查 golang 包中的 time.Time 時(shí),我遇到了以下不一致情況,如果是這樣的話。package mainimport (   "fmt"   "time")    func main(){        const timeFormat = "2 Jan, 2006 3:04pm (MST)"        test , err := time.Parse( timeFormat, "25 Oct, 2015 1:59am (BST)" )        fmt.Println( test , test.UTC() , err)        dur , _ := time.ParseDuration( "1m" )        test = test.Add( dur )        fmt.Println( test , test.UTC())        fmt.Println( "--------------------"  )        test , err = time.Parse( timeFormat, "25 Oct, 2015 2:01am (BST)" )        fmt.Println( test , test.UTC() , err)        test = test.Add( dur )        fmt.Println( test , test.UTC())        test = test.Sub( dur )        fmt.Println( test , test.UTC())     }   我知道 BST 2015 年 10 月 25 日凌晨 2 點(diǎn)應(yīng)該會(huì)導(dǎo)致時(shí)鐘回到格林威治標(biāo)準(zhǔn)時(shí)間 (UTC) 凌晨 1 點(diǎn)。如果我將 BST 凌晨 1:59 增加一分鐘,時(shí)間確實(shí)會(huì)切換到 GMT。2015-10-25 01:59:00 +0100 BST 2015-10-25 00:59:00 +0000 UTC <nil>2015-10-25 01:00:00 +0000 GMT 2015-10-25 01:00:00 +0000 UTC--------------------2015-10-25 02:01:00 +0000 BST 2015-10-25 02:01:00 +0000 UTC <nil>2015-10-25 02:02:00 +0000 BST 2015-10-25 02:02:00 +0000 UTC但是,如果我在 BST 凌晨 2 點(diǎn)之后解析時(shí)間,我希望它切換到 GMT,就像在過渡期間增加時(shí)間一樣。如果 Add 例程調(diào)用了過渡代碼,我會(huì)再次添加一分鐘,但這也不會(huì)將時(shí)間恢復(fù)為 GMT。我原以為會(huì)發(fā)生以下情況之一a) 讓 BST 始終保持 GMT+1b) 到 BST“無效”的任何時(shí)間自動(dòng)更改為正確的 GMT 時(shí)間(無效 BST 在 10 月最后一個(gè)星期日之后的凌晨 2 點(diǎn)和次年 3 月最后一個(gè)星期日之后的凌晨 2 點(diǎn)之間)c) 如果在這些日期內(nèi)使用 BST(可能還有其他國家/地區(qū)的其他夏令時(shí))創(chuàng)建日期,則會(huì)引發(fā)錯(cuò)誤。否則,我將不得不檢查用戶是否在 BST 中輸入了一個(gè)日期,該日期是否在 BST 之外,并調(diào)整或強(qiáng)制用戶使用 UTC 時(shí)間,這違背了在庫中內(nèi)置夏令時(shí)功能的目標(biāo)。在研究時(shí),我發(fā)現(xiàn)了這個(gè)https://www.youtube.com/watch?v=-5wpm-gesOY 并決定它絕對(duì)不像我最初假設(shè)的那么簡單......任何見解或處理夏令時(shí)的更好方法將不勝感激。在 Debian Wheezy 上使用 go 1.0.2 版編輯:使用 go version 1.3.3 重試并得到這個(gè)輸出2015-10-25 01:59:00 +0100 BST 2015-10-25 00:59:00 +0000 UTC <nil>2015-10-25 01:00:00 +0000 GMT 2015-10-25 01:00:00 +0000 UTC--------------------2015-10-25 01:00:00 +0000 GMT 2015-10-25 01:00:00 +0000 UTC <nil>2015-10-25 01:01:00 +0000 GMT 2015-10-25 01:01:00 +0000 UTC所以似乎在以后的版本中按我的預(yù)期工作......也發(fā)現(xiàn)了這個(gè)問題 夏令時(shí)和時(shí)區(qū)最佳實(shí)踐 所以將徹底閱讀它。
查看完整描述

1 回答

?
慕無忌1623718

TA貢獻(xiàn)1744條經(jīng)驗(yàn) 獲得超4個(gè)贊

Go 與除 Microsoft 之外的其他所有人一樣,使用IANA 時(shí)區(qū)數(shù)據(jù)庫,該數(shù)據(jù)庫具有包含在當(dāng)前 Go 版本中的定期更新。

您使用了 2012 年 3 月發(fā)布的 go1.0.3(發(fā)布?xì)v史)。2015 年的英國時(shí)區(qū)數(shù)據(jù)是后來添加的。

始終使用當(dāng)前版本的 Go 進(jìn)行時(shí)區(qū)計(jì)算。


查看完整回答
反對(duì) 回復(fù) 2021-09-21
  • 1 回答
  • 0 關(guān)注
  • 317 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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