Есть ли способ определить первый день месяца (минимальный день) и последний день месяца (максимальный день), учитывая месяц в качестве входных данных, используя DateTime
в perl?
До сих пор я выяснил, как передать первое свидание, последнее свидание, чтобы дать мне диапазон дней.
Но то, что я хочу сейчас сделать, это просто передать месяц как аргумент, скажем 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)=@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