這應該讓你開始。您可能想要添加一些輸入驗證(即確保@ARGV
的元素格式正確,並且第一個表示日期小於第二個等等,等等)。
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);
}
ETA:如果並不清楚發生了什麼事情,我們創建$date
爲DateTime
對象,分析了年,月,日在$first_date
給予這一點。然後,我們繼續打印不帶分隔符的年份,月份和日期($date->ymd('')
),並將$date
增加一天,直到我們處於$last_date
。
這很酷。謝謝。我會測試它。 – jdamae
偉大的小腳本。感謝您澄清使用情況。這非常方便。 – jdamae
沒問題。我很高興它的工作。 :) – 2011-08-11 21:40:32