希望得到一些帮助来解决这个问题。我需要计算两个日期之间的营业日/小时/分钟。我目前正在使用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
我还缺少什么来获得时间和分钟?
谢谢。
答案 0 :(得分:0)
正如评论中所提到的,这是Date :: Manip的5.x和6.x之间的实现差异,其中today
(和yesterday
)在版本之间具有不同的含义。 / p>
要在6.x下获得所需的行为,请使用now
。