1

只是对这种比较感兴趣,有什么线索吗?

假设有两个变量如下:

$p1 = "2013-01-11/2013-01-04";
$p2 = "2013-01-12/2012-01-05";

如果像下面的 Perl 代码,

if $p1 lt $p2

Perl 将拿什么来比较以及如何比较?

4

2 回答 2

7

lt是字符串比较运算符,它在字面意义上比较两个操作数。

在你的情况下,两个字符串

2013-01-11/2013-01-04
||||||||||
2013-01-12/2012-01-05

将按照图示的方式进行比较,并停在第 9 位(第 1 位字符不同,还要注意字符串索引从 0 开始),即1in$p12in $p2。而且也12字面意思要少。也是如此$p1 lt $2

于 2013-01-14T01:45:17.350 回答
-1

分解你的任务:

  • 将您的字符串分成 (start_stringtime, end_stringtime) 字符串对
  • 将字符串对中的每个字符串转换为日期时间
    (为此有大量模块,请选择适合您任务的模块)
  • 计算每对的时间段
  • 以数字方式比较时间段 -if $p1 < $p2

这个问题:
将字符串“20-May-07”转换为日期和操作

会给你一些线索

于 2013-01-14T01:53:00.633 回答