Noa*_*ahD 4 perl datetime data-structures
什么是一个好的Perl模块(或好的方法),它返回开始日期和结束日期之间的所有有效日历日期?
例如,如果我将1/29/2009作为开始日期而2/3/2009作为结束日期,那么我希望它返回1/30/2009,1/31/2009,2/1的数组/ 2009年和2009年2月2日.必须有一个好的Perl模块已经完成了这个并且占了闰年,几个月,但我找不到它.
谢谢你的建议!
这是使用DateTime的示例:
use strict;
use warnings;
use DateTime;
my $d1 = DateTime->new( month => 1, day => 29, year => 2009);
my $d2 = DateTime->new( month => 2, day => 3, year => 2009);
while ($d1 <= $d2) {
print $d1->strftime("%m/%d/%Y"),"\n";
$d1->add(days => 1);
}
Run Code Online (Sandbox Code Playgroud)
小智 2
Date::Manip似乎是 Perl 中规范的日期模块。它有一个奇怪的 API,但它可以工作。下面是使用 ParseRecur 函数执行您想要的操作的示例:
#!/usr/bin/perl
use warnings;
use strict;
use Date::Manip;
use Data::Dumper;
my ($start, $end) = qw(2009-01-29 2009-02-03);
# Exclude start date
$start = DateCalc($start, "+1 day");
# y:m:w:d:h:m:s
my @dates = ParseRecur('0:0:0:1:0:0:0', $start, $start, $end);
for my $date (@dates) {
print UnixDate($date, "%Y-%m-%d\n");
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5040 次 |
最近记录: |