Преобразование моего комментария в ответ, чтобы решение было легко найти для будущих посетителей.
Вы видите эту разницу из-за смещения часового пояса между вашим текущим местным часовым поясом и UT C.
В более поздней версии gnu awk
вы можете использовать эту функцию для передачи дополнительной функции utc-flag
в mktime
:
awk 'BEGIN {t=strftime("%F",systime()); print t;
gsub("-"," ",t); t2=mktime(t " 0 0 0", 1); print t2/(24*60*60)}'
Однако, если вы используете более старые версии awk, используйте этот обходной путь, чтобы получить расчеты времени в UTC
:
TZ=UTC awk 'BEGIN {t=strftime("%F",systime()); print t;
gsub("-"," ",t); t2=mktime(t " 0 0 0"); print t2/(24*60*60) } '