gpt4 book ai didi

perl - 获取两个 UNIX 时间戳之间的日变化点

转载 作者:行者123 更新时间:2023-12-02 06:43:26 25 4
gpt4 key购买 nike

我有日期范围(两个 UNIX 时间戳),我需要找到 23:59:59 的点(如果存在)。我如何使用 Perl 来做到这一点?

附言我认为 for() 不是好主意,因为我可以有很大的范围。还有其他变体吗?

最佳答案

我会使用 Date::Calc。假设您的两个时间戳位于 $ts1$ts2 中:

use Date::Calc qw(Time_to_Date Date_to_Time Delta_Days Add_Delta_Days);

my @date1 = (Time_to_Date($ts1))[0..2];
my @date2 = (Time_to_Date($ts2))[0..2];
my @midnights;

for (my $i = 0; $i < Delta_Days(@date1, @date2); ++$i) {
push @midnights, Date_to_Time(Add_Delta_Days(@date1, $i), 23, 59, 59);
}

@midnights 现在包含两个给定时间戳之间所有 23:59:59 点的 UNIX 时间戳(纪元秒)。

免责声明:当然,您也可以使用DateTime

关于perl - 获取两个 UNIX 时间戳之间的日变化点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4440376/

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