为什么WorkDayBeg和WorkDayEnd不在Date :: Manip中工作?

时间:2009-08-18 20:17:33

标签: perl date

我在个人配置文件的顶部(以及正在考虑的假期,所以我知道正在读取该文件...):

WorkDayBeg = 08:00
WorkDayEnd = 17:00

...但是当我在商业模式中在08:00到17:00进行增量时,它表示8小时而不是9小时。它默认为工作日09:00到17:00。 / p>

知道为什么吗?

1 个答案:

答案 0 :(得分:4)

我没有观察到这种行为:

#!/usr/bin/perl

use strict;
use warnings;

use Date::Manip;

Date_Init('WorkDayBeg = 08:00', 'WorkDayEnd = 17:00');

print 'Not in business mode: ',
    DateCalc(ParseDate('8:00'), ParseDate('17:00')), "\n",
    'In business mode: ',
    DateCalc(ParseDate('8:00'), ParseDate('17:00'), undef, 2), "\n";
C:\Temp> bun
Not in business mode: +0:0:0:0:9:0:0
In business mode: +0:0:0:1:0:0:0

正如预期的那样,如果不处于商业模式,则差异为9小时;如果处于商业模式,则差异为工作日。