1366
Perl / Увеличение даты
« : 21 Апреля 2004, 16:36:23 »
Yaroslav
пардон... немного не так... :
#!/usr/bin/perl -w
use strict;
use Time::Local;
my $date="2004-02-29";
my ($year, $mon, $day) = split/\\-/, $date;
$mon-=1;
my $unix_time=timelocal(0, 0, 0, $day, $mon, $year);
$unix_time+=86400; #ïðèáàâëÿåì îäèí äåíü...
($day, $mon, $year) = ((localtime($unix_time))[3,4,5]);
$year+=1900;
$mon+=1;
$date= sprintf("%04d-%02d-%02d", $year, $mon, $day);
print "$date";
на этот пример никаких проверок на високосный год ставить не НАДО!!!
perldoc Time::Local
в следующий раз прежде чем бросаться сорказными словоизлеяниями... вроде этого:
попробуйте разобраться в ответе...
пардон... немного не так... :
#!/usr/bin/perl -w
use strict;
use Time::Local;
my $date="2004-02-29";
my ($year, $mon, $day) = split/\\-/, $date;
$mon-=1;
my $unix_time=timelocal(0, 0, 0, $day, $mon, $year);
$unix_time+=86400; #ïðèáàâëÿåì îäèí äåíü...
($day, $mon, $year) = ((localtime($unix_time))[3,4,5]);
$year+=1900;
$mon+=1;
$date= sprintf("%04d-%02d-%02d", $year, $mon, $day);
print "$date";
на этот пример никаких проверок на високосный год ставить не НАДО!!!
perldoc Time::Local
в следующий раз прежде чем бросаться сорказными словоизлеяниями... вроде этого:
Цитировать
спасибо за пример, как раз он и страдает всеми перечисленными выше проблемами
попробуйте разобраться в ответе...
