perl - 我应该使用哪个 CPAN 模块来提前计算工作日数

标签 perl date cpan

这是一个由两部分组成的问题:

我想用 Perl 计算(比如说)提前 5 个工作日。兼顾周末和节假日。 Date::Manip 就是这样做的,但是非常重量级。有没有重量更轻的模块可以很好地做到这一点?

如果 Date::Manip 确实是正确的选择,你能告诉我为什么它不打印任何内容吗?关于如何实际输出内容的 Date::Manip 文档非常薄弱。

use Date::Manip;

my $date = new Date::Manip::Date;

my $err = $date->parse("today");
if ($err) {
     print "Problems: $err\n";
}
$date->printf("It is now %b %e, %Y.\n");

最佳答案

printf 方法应命名为 sprintf。它返回格式化的字符串;它不打印它。尝试:

print $date->printf("It is now %b %e, %Y.\n");

Date::Manip可能是处理工作日最简单的方法,因为它内置了概念。您也可以使用 DateTime::Set 来做到这一点。操作(请参阅 DateTime::Event::Holiday::US 以了解预先填充美国假期的集合)。

还有DateTime::BusinessHours ,但我从未尝试过。

关于perl - 我应该使用哪个 CPAN 模块来提前计算工作日数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7861538/

相关文章:

python - 处理日志以修复格式错误的 IP 地址 ?.?.?.x

mysql - vb.net DateTimePicker 删除时间 12 :00:00 AM

perl - 如何为 icinga 自动安装 Redis Perl 库?

perl - 如何阻止 CPAN 访问无响应的软件包存储库?

perl - Windows XP 上的 CPAN 问题

xml - 从 Linux 上的 curl 命令结果中提取 xml 部分

unit-testing - 模拟 perl 反引号的返回码和输出

perl - 使用 TreeBuilder 在 Perl 中提取链接

sql - ORACLE - 解释列值

java - 将当前日期转换为整数