我正在学习如何在Go中编写代码并尝试创建一个简单的提醒功能。
我想将当前时间显示为常规24小时制,XX.XX(小时,分钟)。
我已将当前时间保存在变量t中,当我打印它时,我发现时间是2009年11月初的23.00。很好,但是当我打印t.Hour和t.Minute时,结果是{{1} }。
打印132288.132480
时类似。我无法弄清楚为什么会这样。
大约2000天过去了,但这只有48k小时和2880k分钟,所以我的结果中的小时和分钟之间的微小差异暗示问题是别的。
我在go操场上运行代码。
我的代码:
t.Seconds
答案 0 :(得分:3)
您需要拨打t.Hour()
而不是将其用作值。
在此处查看time
包的来源:https://golang.org/src/time/time.go?s=12994:13018#L390
399 // Hour returns the hour within the day specified by t, in the range [0, 23].
400 func (t Time) Hour() int {
401 return int(t.abs()%secondsPerDay) / secondsPerHour
402 }
403
如有疑问,您可以通过阅读官方go packages page的特定包来源快速找到解释。