Perl 为什么不';t workdayberg和WorkDayEnd工作日期::Manip?
我在我的个人配置文件的顶部有这个文件(以及假期,它们都受到尊重,所以我知道文件正在读取…): 。。。然而,当我在商业模式下在08:00到17:00进行增量计算时,它显示的是8小时而不是9小时。默认工作日为09:00至17:00Perl 为什么不';t workdayberg和WorkDayEnd工作日期::Manip?,perl,date,Perl,Date,我在我的个人配置文件的顶部有这个文件(以及假期,它们都受到尊重,所以我知道文件正在读取…): 。。。然而,当我在商业模式下在08:00到17:00进行增量计算时,它显示的是8小时而不是9小时。默认工作日为09:00至17:00 知道为什么吗?我没有观察到这种行为: #!/usr/bin/perl use strict; use warnings; use Date::Manip; Date_Init('WorkDayBeg = 08:00', 'WorkDayEnd = 17:00');
知道为什么吗?我没有观察到这种行为:
#!/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
不在业务模式下:+0:0:0:0:9:0:0
在业务模式下:+0:0:0:1:0:0:0
正如所料,如果不是在商业模式下,差异是9小时,如果是在商业模式下,差异是一个工作日。我没有观察到这种行为:
#!/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
不在业务模式下:+0:0:0:0:9:0:0
在业务模式下:+0:0:0:1:0:0:0
正如预期的那样,如果不是在业务模式下,差异是9小时;如果是在业务模式下,差异是一个工作日。发布导致错误的代码。可能是给你一个小时的午餐休息时间?;-)发布导致错误的代码。可能是给你一个小时的午餐休息时间?;-)你完全正确。我甚至不想承认是什么让我感到困惑,但让我们充分地说,我随后的代码将工作日/小时转换为纯小时就是问题所在。谢谢你的调查,你说得完全正确。我甚至不想承认是什么让我感到困惑,但让我们充分地说,我随后的代码将工作日/小时转换为纯小时就是问题所在。谢谢你的检查。 C:\Temp> bun Not in business mode: +0:0:0:0:9:0:0 In business mode: +0:0:0:1:0:0:0