1 回答

TA貢獻(xiàn)1921條經(jīng)驗 獲得超9個贊
您可以使用Time.AddDate()將天數(shù)添加到time.Time值中。添加大于 31 的天數(shù)是可以的,實現(xiàn)對結(jié)果進(jìn)行歸一化。
并轉(zhuǎn)換TimeOfDay為time.Duration并使用Time.Add()來添加它。轉(zhuǎn)換為 時time.Duration,我們可以將其乘以1e9得到納秒數(shù),因此將保留小數(shù)秒。
例子:
t := time.Date(2020, 1, 1, 0, 0, 0, 0, time.UTC)
fmt.Println(t)
var yearDay int32 = 100
var timeOfDay float64 = 70000.5
t = t.AddDate(0, 0, int(yearDay))
t = t.Add(time.Duration(timeOfDay * 1e9))
fmt.Println(t)
fmt.Println("Unix:", t.Unix())
fmt.Println("UnixNano:", t.UnixNano())
輸出(在Go Playground上試試):
2020-01-01 00:00:00 +0000 UTC
2020-04-10 19:26:40.5 +0000 UTC
Unix: 1586546800
UnixNano: 1586546800500000000
- 1 回答
- 0 關(guān)注
- 164 瀏覽
添加回答
舉報