Есть ли способ выяснить первый день месяца (min day )и последний день месяца (max day ), учитывая месяц в качестве входных данных, используя DateTime
в perl?
До сих пор я понял, как передать первое свидание, последнее свидание, чтобы получить диапазон дней.
Но сейчас я хочу просто передать месяц в качестве аргумента, скажем, 201203
и вернуть min, maxday.
Возможно ли это с DateTime?
Кроме того, я хочу изменить маску формата даты с ГГГГММДД на ГГГГ -ММ -ДД.
use strict;
use warnings;
use DateTime;
unless(@ARGV==2)
{
print "Usage: myperlscript first_date last_date\n";
exit(1);
}
my ($first_date,$last_date)=@ARGV;
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