Надеюсь на помощь в выяснении этого. Мне нужно рассчитать рабочие дни / часы / минуты между 2 датами. В настоящее время я использую Date :: Manip для этого, но, похоже, он дает мне только дни, а не часы и минуты.
Вот фрагмент того, что у меня есть:
use Date::Manip;
Date_Init('WorkDayBeg = 09:00', 'WorkDayEnd = 17:00');
..
my $today_date = &ParseDate("today");
my $parsedStart = &ParseDate("2012-01-26 13:32:49.000");
..
my $err;
my $delta = DateCalc(ParseDate($parsedStart),$today_date,\$err,3);
..
print "Raw Delta: $delta\n";
$delta = Delta_Format($delta,2,'%st');
print "Formated Delta: $delta\n";
Сегодня 2012-01-26. Когда я запускаю скрипт, результат:
Raw Delta: +0:0:+0:0:0:0:0
Formated Delta: 0.00
... В качестве другого примера, если $ parsedStart - 2011-11-22 18: 50: 24.000, я получаю:
Raw Delta: +0:0:+0:+46:0:0:0
Formated Delta: 3974400.00
Чего мне не хватает, чтобы получить часы и минуты?
Спасибо.