我想獲得一個日期時間,從日期開始計算周數(shù),從一周開始計算天數(shù),從 00:00 時間開始計算秒數(shù)。使用 Python 我可以使用這個:BASE_TIME = datetime.datetime(1980,1,6,0,0)tdelta = datetime.timedelta(weeks = 1722, days = 1, seconds = 66355)mydate = BASE_DATE + tdelta我正在嘗試使用 Go 來實現(xiàn)它,但我在實現(xiàn)它時遇到了一些問題:package mainimport ( "fmt" "time")var base = time.Date(1980, 1, 6, 0, 0, 0, 0, time.UTC)func main() { weeks := 1722 days := 1 seconds := 66355 weeksToSecs := 7 * 24 * 60 * 60 daysToSecs := 24 * 60 * 60 totalSecs := (weeks * weeksToSecs) + (days * daysToSecs) + seconds nanosecs := int64(totalSecs) * 1000000000 //delta := time.Date(0, 0, 0, 0, 0, totalSecs, 0, time.UTC) date := base.Add(nanosecs) fmt.Printf("Result: %s", date)}prog.go:21:不能在函數(shù)參數(shù)中使用納秒(int64 類型)作為 time.Duration 類型http://play.golang.org/p/XWSK_QaXrQ我缺少什么?
3 回答

慕桂英3389331
TA貢獻2036條經(jīng)驗 獲得超8個贊
jnml 的答案有效,而且更符合習慣。但是為了說明為什么您的原始代碼不起作用,您所要做的就是更改一行。
date := base.Add(time.Duration(nanosecs))
會將納秒轉(zhuǎn)換為 time.Duration,這是 Add 期望的類型,而不是 int64。Go 不會自動為你轉(zhuǎn)換類型,所以它抱怨類型是 int64。
- 3 回答
- 0 關(guān)注
- 234 瀏覽
添加回答
舉報
0/150
提交
取消