gpt4 book ai didi

go - golang中的python timedelta之类的东西

转载 作者:IT老高 更新时间:2023-10-28 13:03:53 25 4
gpt4 key购买 nike

我想得到一个日期时间,从日期开始计算周数,从一周开始计算天数,从 00:00 开始计算秒数。

有了 Python,我可以使用这个:

BASE_TIME = datetime.datetime(1980,1,6,0,0)
tdelta = datetime.timedelta(weeks = 1722,
days = 1,
seconds = 66355)
mydate = BASE_DATE + tdelta

我正在尝试使用 Go 来实现它,但我遇到了一些问题:

package main

import (
"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: 不能在函数参数中使用纳秒(int64 类型)作为 time.Duration 类型

http://play.golang.org/p/XWSK_QaXrQ

我错过了什么?
谢谢

最佳答案

package main

import (
"fmt"
"time"
)

func main() {
baseTime := time.Date(1980, 1, 6, 0, 0, 0, 0, time.UTC)
date := baseTime.Add(1722*7*24*time.Hour + 24*time.Hour + 66355*time.Second)
fmt.Println(date)
}

Playground


输出

2013-01-07 18:25:55 +0000 UTC

关于go - golang中的python timedelta之类的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17631900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com