在错误条件下,我尝试返回nil,这会抛出错误:
cannot use nil as type time.Time in return argument
时间的零值是多少?时间?
在错误条件下,我尝试返回nil,这会抛出错误:
cannot use nil as type time.Time in return argument
时间的零值是多少?时间?
当前回答
时间的零值。时间为0001-01-01 00:00:00 +0000 UTC参见http://play.golang.org/p/vTidOlmb9P
其他回答
在Go v1.18上测试
time的默认值。时间是:
0001-01-01 00:00:00 +0000 UTC
使用IsZero()函数检查是一种简单的方法。
var zeroTime time.Time
if zeroTime.IsZero() {
// do something when zero
}
调用空时间。时间结构字面值将返回Go的零日期。因此,对于下面的打印语句:
fmt.Println(time.Time{})
输出结果为:
0001-01-01 00:00:00 +0000 UTC
为了完整起见,官方文件明确指出:
Time类型的零值为UTC年1月1日00:00:00.000000000。
时间的零值。时间为0001-01-01 00:00:00 +0000 UTC参见http://play.golang.org/p/vTidOlmb9P
你应该使用Time.IsZero()函数:
func (Time) IsZero
or
func (t Time) IsZero() bool
IsZero报告t是否代表零时间瞬间,UTC年1月1日00:00:00。