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

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

如何將非常大的(>max(int64))納秒unix時(shí)間戳轉(zhuǎn)換為時(shí)間

如何將非常大的(>max(int64))納秒unix時(shí)間戳轉(zhuǎn)換為時(shí)間

Go
慕絲7291255 2022-09-05 17:38:36
我有一個(gè)uint64納秒的unix時(shí)間戳,它大于int64可以容納的最大值。因?yàn)槲也荒茉倮脮r(shí)間了。Unix()函數(shù)采用int64,我如何將此時(shí)間戳轉(zhuǎn)換為時(shí)間而不會(huì)丟失數(shù)據(jù)?
查看完整描述

1 回答

?
烙印99

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

時(shí)間。Unix() 函數(shù)接受 2 個(gè)參數(shù):


func Unix(sec int64, nsec int64) Time

如果有納秒,則可以傳遞 的 納秒值。例如:int640secnsec


nsec := int64(1623840300988135567)

t := time.Unix(0, nsec)

fmt.Println(t) // 2021-06-16 10:45:00.988135567 +0000 UTC

傳遞超出范圍 [0, 999999999] 的納秒值是有效的。


如果你有一個(gè)納秒值不適合,那么只需將其分成2部分:秒和剩余的納秒。打破它只是簡(jiǎn)單地除以并得到除以的其余部分(這是一秒中的納秒數(shù))。int641e9


例如:


x := uint64(math.MaxInt64)

t = time.Unix(0, int64(x))

fmt.Println(t)


x += uint64(time.Hour)

t = time.Unix(int64(x/1e9), int64(x%1e9))

fmt.Println(t)

添加到 顯然不適合 。然而,上面的代碼運(yùn)行良好并輸出:time.Hourmath.MaxInt64int64


2262-04-11 23:47:16.854775807 +0000 UTC

2262-04-12 00:47:16.854775807 +0000 UTC

在Go Playground上嘗試一下。


查看完整回答
反對(duì) 回復(fù) 2022-09-05
  • 1 回答
  • 0 關(guān)注
  • 216 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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