Как я изящно печатаю дату в формате RFC822 в Perl?

Указатель NULL - это тот, который указывает на никуда. Когда вы разыскиваете указатель p, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p является нулевым указателем, местоположение, хранящееся в p, является nowhere, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception.

В общем, это потому, что что-то не было правильно инициализировано.

18
задан brian d foy 8 January 2010 в 12:55
поделиться

2 ответа

use POSIX qw(strftime);
print strftime("%a, %d %b %Y %H:%M:%S %z", localtime(time())) . "\n";
30
ответ дан 30 November 2019 в 06:26
поделиться

Комплект DateTime дает Вам много различных путей, например:

use DateTime;
print DateTime->now()->strftime("%a, %d %b %Y %H:%M:%S %z");

use DateTime::Format::Mail;
print DateTime::Format::Mail->format_datetime( DateTime->now() );

print DateTime->now( formatter => DateTime::Format::Mail->new() );

Обновление: для предоставления времени для некоторого конкретного часового пояса добавьте time_zone аргумент теперь ():

DateTime->now( time_zone => $ENV{'TZ'}, ... )
15
ответ дан 30 November 2019 в 06:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: