Я пытаюсь работать с датой строк, отформатированные как:Perl формат strptime отличается от STRFTIME
YYYY-MM-DDThh:mm:ss
формате STRFTIME для создания этой строки является %FT%T
:
perl -MPOSIX=strftime -E 'say strftime q{%FT%T}, localtime;'
Но когда я пытаюсь разобрать эта строка даты с Time::Piece:
perl -MPOSIX=strftime -MTime::Piece -E '
say strftime q{%FT%T}, localtime;
Time::Piece->strptime(strftime(q{%FT%T}, localtime), q{%FT%T});
'
Я получил эту ошибку:
2013-11-15T17:32:58 Error parsing time at /usr/local/lib/perl/5.14.2/Time/Piece.pm line 469.
Или если я пытаюсь это:
perl -MPOSIX=strftime -MTime::Piece -E 'Time::Piece->strptime(strftime(q{%F}, localtime), q{%F});'
Я получил это:
garbage at end of string in strptime: 2013-11-15 at /usr/local/lib/perl/5.14.2/Time/Piece.pm line 469.
В человеке сказал %F
является ISO8601 формат даты в strptime и STRFTIME обоих. Является ли strptime обратной совместимостью с strftime?
Все перечисленное работает для меня на Perl 5.10.1 на Scientific Linux 6.4. – ThisSuitIsBlackNot
@ThisSuitIsBlackNot, вам повезло :) – Suic