gpt4 book ai didi

Perl strptime 格式不同于 strftime

转载 作者:行者123 更新时间:2023-12-01 08:01:09 26 4
gpt4 key购买 nike

我正在尝试使用格式为:

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:58Error parsing time at /usr/local/lib/perl/5.14.2/Time/Piece.pm line 469.

Or if I try this:

perl -MPOSIX=strftime -MTime::Piece -E 'Time::Piece->strptime(strftime(q{%F}, localtime), q{%F});'

我懂了:

strptime 中字符串末尾的垃圾:2013-11-15 在/usr/local/lib/perl/5.14.2/Time/Piece.pm 第 469 行。

在人说 %F是 strptime 和 strftime 中的 ISO8601 日期格式。 strptime 是否与 strftime 向后兼容?

最佳答案

该模块使用它自己的 strptime 实现。哪个不明白%F .它没有实现自己的 strftime .这是一场等待发生的灾难 - 你绝对应该使用 strftimestrptime来自同一个来源。 Time::Piece::strptime从一个没有广泛可用的标准化 strptime 的时代看来,这是一种绝望的举动。 .

现在 strptime在 POSIX 中,我希望 POSIX.pm导出它,以便您可以使用系统的 strptime .但显然该模块也未能跟上。有一个单独的 POSIX::strptime module它为您提供 C 库的 strptime不受干扰。我建议使用它。

关于Perl strptime 格式不同于 strftime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20003993/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com