营业日/小时/分钟的日期差异?

时间:2012-01-26 22:47:37

标签: perl

希望得到一些帮助来解决这个问题。我需要计算两个日期之间的营业日/小时/分钟。我目前正在使用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 :(得分:0)

正如评论中所提到的,这是Date :: Manip的5.x和6.x之间的实现差异,其中today(和yesterday)在版本之间具有不同的含义。 / p>

要在6.x下获得所需的行为,请使用now