Ответы:
Вызов пустого time.Time
литерала структуры вернет нулевую дату Go. Таким образом, для следующего оператора печати:
fmt.Println(time.Time{})
Выход:
0001-01-01 00:00:00 +0000 UTC
Для полноты официальной документации прямо говорится:
Нулевым значением типа Time является 1 января, год 1, 00: 00: 00.000000000 UTC.
Вместо этого вы должны использовать функцию Time.IsZero ():
func (Time) IsZero
func (t Time) IsZero() bool
IsZero reports whether t represents the zero time instant, January 1, year 1, 00:00:00 UTC.
Нулевое значение для time.Time является 0001-01-01 00:00:00 +0000 UTC
См http://play.golang.org/p/vTidOlmb9P
IsZero()
чтобы обнаружить нулевое время.