Search code examples
timegonull

What is the `zero` value for time.Time in Go?


In an error condition, I tried to return nil, which throws the error:

cannot use nil as type time.Time in return argument

What is the zero value for time.Time?


Solution

  • Invoking an empty time.Time struct literal will return Go's zero date. Thus, for the following print statement:

    fmt.Println(time.Time{})
    

    The output is:

    0001-01-01 00:00:00 +0000 UTC
    

    For the sake of completeness, the official documentation explicitly states:

    The zero value of type Time is January 1, year 1, 00:00:00.000000000 UTC.