gpt4 book ai didi

perl - 在 Perl 中,如何比较 ISO 格式的日期和时间 (%Y-%m-%dT%H :%M:%SZ)?

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

我正在寻找比较 ISO 格式的两个日期(从文件动态接收)——例如2011-12-14T17:22:52Z — 在 Perl 中。我该怎么做?

最佳答案

ISO 8601 的巨大优势您显示的符号是可以将其与字符串比较进行比较:

my $v1 = "2011-12-14T17:22:52Z";
my $v2 = "2012-01-03T19:13:49Z";

print "$v1 earlier than $v2\n" if $v1 lt $v2;

这假设所有值都是祖鲁时间(Z 是时区,又名 UTC)。如果您有不同的时区,那么您需要标准化为一个时区(UTC 是一个明智的选择)然后进行比较。


请仔细注意术语 'string comparison' .

在 Perl 中,<运算符比较两个数字。呈现的值将通过不正当手段或蛮力和无知被强制转换为数字。例如,if ("A" == "B")是真的,因为 "A"被视为数字的是 0,"B" 也是如此。 .仅当您使用数字比较时,日期/时间字符串才会被视为数字是年份部分。

使用字符串比较运算符(其助记符可能基于原始 Fortran 比较运算符:ltlegtgeeqnecmp)用于比较字符串。您使用数字比较器( <<=>>=!===<=> )来比较数字。请注意区分您要进行的比较类型。

关于perl - 在 Perl 中,如何比较 ISO 格式的日期和时间 (%Y-%m-%dT%H :%M:%SZ)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10398585/

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