linux - 如何获取特定年份输入的所有星期一(日期)

标签 linux perl

用 linux 命令或 perl ,

如何获取2010年所有星期一的日期

例如:

20100104 ------ 这是 2010 年 1 月星期一 20100111 20100118 20100125

----

---

---

20101206 20101213 20101220 20101227 ------ 这是 2010 年 12 月星期一

最佳答案

你可以使用 DateTime :

#!/usr/bin/env perl

use strict;
use warnings;

use DateTime;

my $year = 2010;
my $dt   = DateTime->new(
    'year'  => $year,
    'month' => 1,
    'day'   => 1,
);

# find first Monday
while ( $dt->day_name() ne 'Monday' ) {
    $dt->add( 'days' => 1 );
}

while ( $dt->year() == $year ) {
    print $dt->strftime("%Y%m%d\n");
    $dt->add( 'weeks' => 1 );
}

关于linux - 如何获取特定年份输入的所有星期一(日期),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5685159/

相关文章:

java - 几分钟后杀死 java 进程 [Linux Ubuntu VPS]

Perl 模块 "did not return a true value"

perl - 你如何对 Data::Dumper 的输出进行排序?

perl - 如何使用 Text::Table 模块打印带有多行字符串的表格?

Perl - 在文件中找到匹配项后插入行

linux - bash 脚本看不到文件

java - 适用于 JVM 的 Yourkit Java 分析 - Ubuntu

linux - 使用 grep 显示硬盘设备的名称

regex - 如何使用 sed/perl 仅查找二维数组并替换文本?

linux - 计算使用的总处理器时间