在perl中使用DateTime
來計算月份的第一天(分鐘日期)和月份的最後一天(max day),是否有方法計算該月份作爲輸入?如何用Perl的DateTime得到本月的第一天和最後一天?
到目前爲止,我想出瞭如何在第一個日期,最後一個日期給我一個日期範圍。
但是我現在要做的只是在一個月內作爲參數傳遞,說201203
並返回最小值,最大值。
這可能與DateTime?
此外,我想將日期格式掩碼從YYYYMMDD更改爲YYYY-MM-DD。
use strict;
use warnings;
use DateTime;
unless(@ARGV==2)
{
print "Usage: myperlscript first_date last_date\n";
exit(1);
}
my ($first_date,$last_date)[email protected];
my $date=DateTime->new(
{
year=>substr($first_date,0,4),
month=>substr($first_date,4,2),
day=>substr($first_date,6,2)
});
while($date->ymd('') le $last_date)
{
print $date->ymd('') . "\n";
#$date->add(days=>1); #every day
$date->add(days=>30);
}
預期結果:
2012-03-01
2012-03-31
民主日總是1! – theglauber 2012-03-30 20:52:59