perl - 如何打印两个边界日期之间的日期

标签 perl

我有 2 个日期格式:

2007 年 12 月 27 日

12.03.2010

如何打印这两个日期之间的所有天数(循环)?

最佳答案

我知道您已经接受了一个答案,但它使用了相当笨重的旧 Date::Calc 模块。如今,大多数人会建议改用 DateTime。

#!/usr/bin/perl

use strict;
use warnings;

use DateTime;

my %start;
@start{qw[day month year]} = split /\./, '27.12.2007';
my %end;
@end{qw[day month year]} = split /\./, '12.03.2010';

my $start = DateTime->new(%start);
my $end   = DateTime->new(%end);

my $curr = $start;

while ($curr <= $end) {
  print $curr->ymd, "\n";
  $curr->add(days => 1);
}

关于perl - 如何打印两个边界日期之间的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4375545/

相关文章:

perl - 如何在我的 Heroku/Perl Web 应用程序中使用自定义模块?

Perl 无法尾部旋转日志文件

perl - 如何使用 SOAP::Lite 获得详细(或调试)输出?

linux - perl-mechanize 遇到限制 - 开始进行多次调试尝试

perl - 为什么 File::Find 不处理我损坏的符号链接(symbolic link)?

perl - 维护 docker 镜像时应该如何处理 Perl 模块更新?

linux - 使用 perl 和串行设备检测 Linux 启动

regex - Concat 正则表达式与常量声明中的字符串作为 oneliner

perl - 从 Perl 数据结构中提取信息

windows - 为什么 Win32::ODBC 在 Perl 5.10 和 Cygwin 下找不到 ODBC.dll?