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
什么我是否想要获得小时和分钟?
谢谢。
适合我(版本6.30)。你使用什么版本? – Toto 2012-01-27 09:26:57
同样适用于我6.30和5.56。我注意到的区别是5.56'今天'意味着“现在”,而'昨天'意味着“24小时前”。在6.30“今天”中表示“此日期的午夜”,“昨天”表示“前一天的午夜”。这可能会让你感到困惑。 – Schwern 2012-01-27 11:50:34
我使用6.25(公司监管版)。当你们的人说它对你有用时,你的意思是说你得到的是返回的小时数和分钟数,而不仅仅是我得到的日子? – Namuna 2012-01-27 16:39:04