在 Perl 中的两个日期之间循环的最佳/最清晰的方法是什么? CPAN 上有很多模块可以处理此类问题,但是是否有任何经验法则可以在两个日期之间进行迭代?
最佳答案
对于所有使用日期操作的东西DateTime
可能是最好的模块。要使用您自己的增量获取两个日期之间的所有日期,请使用以下内容:
#!/usr/bin/env perl
use strict;
use warnings;
use DateTime;
my $start = DateTime->new(
day => 1,
month => 1,
year => 2000,
);
my $stop = DateTime->new(
day => 10,
month => 1,
year => 2000,
);
while ( $start->add(days => 1) < $stop ) {
printf "Date: %s\n", $start->ymd('-');
}
这将输出:
Date: 2000-01-02
Date: 2000-01-03
Date: 2000-01-04
Date: 2000-01-05
Date: 2000-01-06
Date: 2000-01-07
Date: 2000-01-08
Date: 2000-01-09
关于perl - 在 Perl 中循环两个日期的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6622818/