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

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

如何獲得時間戳之間的差異(字符串或 time.time 之間)

如何獲得時間戳之間的差異(字符串或 time.time 之間)

Go
飲歌長嘯 2023-06-19 15:45:48
我有一個問題:我需要知道 golang 中兩個時間戳之間的差異/持續(xù)時間。因此,我使用時間庫 ( https://golang.org/pkg/time/ )。如果我有兩個“time.time”類型的時間戳,使用“time.Sub()”很容易得到差異。我的問題是我的一個時間戳來自另一個函數(shù),并且只能將其作為字符串傳輸:t1 := "2009-11-10 23:00:00 +0000 UTC m=+0.000000001" //類型:字符串t2 := time.Now() //類型:time.time現(xiàn)在我有基本的可能性:A) 也將 t2 轉(zhuǎn)換為字符串并嘗試找出兩個字符串之間的區(qū)別(丑陋)B) 將 t1 從類型“string”轉(zhuǎn)換為類型“time.time”,然后應(yīng)用“time.Sub()”我想走B)。因此,我發(fā)現(xiàn)time.Parse(格式,時間字符串)應(yīng)該可以這樣做。所以我嘗試使用轉(zhuǎn)換 t1t1_time, 錯誤:= time.Parse(time.RFC3339, t1)但結(jié)果并不如預(yù)期!相反,我得到了這個0001-01-01 00:00:00 +0000 UTC并且錯誤說“錯誤解析時間”2009-11-10 23:00:02 +0000 UTC m=+2.000000001“作為”2006-01-02T15:04:05Z07:00“:無法解析”23:00:02 +0000 UTC m=+2.000000001" 為 "T" "。如果我使用與 t1 相同的自己的時間格式時間格式:=“2009-11-10 23:00:00 +0000 UTC m=+0.000000001”t1_time, err := time.Parse(小時格式, t1)結(jié)果仍然錯誤,我收到錯誤消息“錯誤解析時間”2009-11-10 23:00:02 +0000 UTC m=+2.000000001“作為”2009-11-10 23:00:00 +0000 UTC m= +0.000000001”:無法將“9-11-10 23:00:02 +0000 UTC m=+2.000000001”解析為“009-”。我也嘗試過 UNIX 時間,但時間庫不允許我將字符串轉(zhuǎn)換為 unix。我做錯了什么??!為什么解析不起作用?謝謝你的幫助!
查看完整描述

1 回答

?
慕后森

TA貢獻1802條經(jīng)驗 獲得超5個贊

基本上你想要:


    t1_raw := "2009-11-10 23:00:00 +0000 UTC m=+0.000000001"

    format := "2006-01-02 15:04:05 -0700 MST"


    // for simplicity t1_raw[:29] discards time's monotonic delta

    // i.e. the " m=+0.000000001" suffix


    t1, err := time.Parse(format, t1_raw[:29])

    if err != nil {

            log.Fatal(err)

    }


    log.Println("Duration ->", t2.Sub(t1))

如果您真的想要包含單調(diào)增量,則必須手動解析該數(shù)字并將增量應(yīng)用于t1.

游樂場版本。

注意: playground 版本將顯示持續(xù)時間為零 - 因為 playground 的時鐘開始于Nov 11 2009- 的開創(chuàng)性生日go。



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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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