gpt4 book ai didi

go - 创建持续时间或 future 日期的惯用方式

转载 作者:IT王子 更新时间:2023-10-29 02:17:22 26 4
gpt4 key购买 nike

获取两个日期之间的持续时间或基本上根据当前日期获取 future 日期的惯用方法是什么。现在我正在使用下面的代码来实现这一点。

yearSpan := time.Date(time.Now().Year()-1, time.Now().Month(), 
time.Now().Day(), time.Now().Hour(), time.Now().Minute(), time.Now().Second(),
time.Now().Nanosecond(), time.UTC)

yearDuration := time.Now().Sub(yearSpan)

header.Add("Expires", time.Now().Add(futureDate).String())

我在书籍和网站上几乎到处都看过,但我找不到任何创建持续时间的惯用方法。关于如何以更好的方式重构上述代码有什么想法吗?

谢谢

最佳答案

time.Duration定义为 type Duration int64,因此基本上您只需进行基本数学运算即可获得所需的持续时间。

例如(Play with it):

package main

import (
"fmt"
"time"
)

const avgYear = time.Hour * 24 * 365

func main() {
fmt.Println("Hello, playground")
fmt.Println("Now", time.Now().String())
fmt.Println("Last Year", time.Now().Add(-avgYear).String())
fmt.Println("Next Year", time.Now().Add(avgYear).String())
}

关于go - 创建持续时间或 future 日期的惯用方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23184583/

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