Разница в датах в рабочих днях / часах / минутах? - PullRequest
2 голосов
/ 27 января 2012

Надеюсь на помощь в выяснении этого. Мне нужно рассчитать рабочие дни / часы / минуты между 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

Чего мне не хватает, чтобы получить часы и минуты?

Спасибо.

1 Ответ

0 голосов
/ 21 июля 2014

Как упомянуто в комментариях, это разница реализации между 5.x и 6.x Date :: Manip, где todayyesterday) имеют разные значения между версиями.

Чтобы получить желаемое поведение в 6.x, используйте now.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...