计算两个日期之间的增量,包括年,日,小时,分钟等

时间:2015-04-02 09:49:39

标签: datetime go

我正在研究需要进行日期计算的Golang示例。我非常希望Go提供一些类似于优秀的Python datetime模块的漂亮日期库,但似乎并非如此。

如何在Go中表示此python示例?

from datetime import date

d0 = date(2013, 8, 18)
d1 = date(2018, 9, 26)
delta = d0 - d1
print delta.days
>>-1865

我花了很多时间四处寻找如何做到这一点我似乎无法找到明确而简洁的明确答案,而且没有任何警告,例如没有正确计算闰年等。

对于构建跨平台原型和最终生产应用程序的优秀小语言来说,这似乎是一个相当大的限制。

1 个答案:

答案 0 :(得分:2)

我不知道您是如何花费大量时间寻找并找不到任何东西的,但标准库的time包装中包含您想要的所有内容。

以下是Go中编写的示例:

d0 := time.Date(2013, 8, 18, 0, 0, 0, 0, time.UTC)
d1 := time.Date(2018, 9, 26, 0, 0, 0, 0, time.UTC)

delta := d0.Sub(d1)

fmt.Println(delta.Hours() / 24)

输出(如预期):

-1865

Go Playground上尝试。