hms} -6ren">
gpt4 book ai didi

perl - 如果日期超过 5 天,如何在 perl 中标记日期?

转载 作者:行者123 更新时间:2023-12-02 08:32:58 25 4
gpt4 key购买 nike

我知道如何将过去的日期标记为黄色:

perl -MTime::Piece -pe '
BEGIN {$today = localtime->ymd." ".localtime->hms}
@days = $_ =~ /<td>([0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2})<\/td>/g;
for $d (@days) {
$_ =~ s!$d!<font style=BACKGROUND-COLOR:yellow>$d</font>!g if $d lt $today;
}' foo.html > foo-TMP.html
mv foo-TMP.html foo.html

问题:但是我怎样才能标记超过 5 天的日期?

示例:

It's: 2014.07.20 15:00

因此以下示例日期将被标记为黄色:

bla-bla random string here<td>2014.05.21 16:32</td>bla-bla random string here
bla-bla random string here<td>2014.07.15 14:59</td>bla-bla random string here

下面的内容应该单独保留:

bla-bla random string here<td>2014.07.15 15:01</td>bla-bla random string here
bla-bla random string here<td>2014.07.18 19:14</td>bla-bla random string here

最佳答案

根据Time::Piece docs ,“以 perlfunc 中记录的方式使用 localtime/gmtime 仍会返回您期望的结果”,以及 the perlfunc docs显示 localtime() 接受一个参数,自纪元以来的秒数,默认值(如果您不提供)是 time() 的返回值.

五天是 432000 秒。如果您更改初始引用点:

BEGIN {
$then = localtime(time() - 432000);
$day = $then->ymd." ".$then->hms
}

并使用 $day 代替 $today,你应该得到你想要的。

关于perl - 如果日期超过 5 天,如何在 perl 中标记日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24850861/

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