Используйте strftime
в стандартном модуле POSIX
. Аргументы strftime
в привязке Perl предназначены для выравнивания с возвращаемыми значениями localtime
и gmtime
. Сравнить
strftime(fmt, sec, min, hour, mday, mon, year, wday = -1, yday = -1, isdst = -1)
с
my ($sec,$min,$hour,$mday,$mon,$year,$wday, $yday, $isdst) = gmtime(time);
Пример использования командной строки:
$ perl -MPOSIX -le 'print strftime "%F %T", localtime $^T'
или из исходного файла, как в
use POSIX;
print strftime "%F %T", localtime time;
Некоторые системы не поддерживают сокращения %F
и %T
, поэтому вам нужно будет явно указать
print strftime "%Y-%m-%d %H:%M:%S", localtime time;
или
print strftime "%Y-%m-%d %H:%M:%S", gmtime time;
Обратите внимание, что time
возвращает текущее время при вызове, тогда как $^T
фиксируется на момент запуска вашей программы. При gmtime
возвращаемым значением является текущее время в GMT. Получить время в вашем местном часовом поясе с localtime
.