Я создал приложение таймера для запуска в окне терминала.
Я наблюдаю какое-то странное поведение в time.Time.Sub()
, когда я запускаю терминальный таймер и переводю свой macOS-ноутбук в спящий режим, закрывая его.
Когда я снова открываю ноутбук, внезапно появляется функция, которая не работает должным образом, что отслеживается этим блоком кода , который можно увидеть в этом скопированном выводе, чтобы он просчитался, если только я не неправильно понял time.Time
значения:
== 615a Timer ==
20m59s
now: 2018-04-27 05:58:20.440440541 -0700 PDT m=+310.234277006
exactLeft: 20m59.142673336s
t.end: 2018-04-27 06:15:00.000129434 -0700 PDT m=+1569.376950342
t.end.Sub(now): 20m59.142673336s
В явном виде, now
установлен на 5:58
, а t.end
установлен на 6:15
, который имеет продолжительность 17m
. Тем не менее, t.end.Sub(now)
оценивается как 21m
, что является разницей во времени, когда мой ноутбук спал. Что здесь происходит?