如何使用Perl Date :: Manip获得本月的一系列日期?

时间:2010-06-02 14:37:31

标签: perl

我正在使用Date::Manip来处理各种事情,并希望创建一个月中的数组。 我我需要:

@date = &ParseRecur("2010:4:0:0:0:0:0"); 

但是,它没有这样做。 我读过&重新阅读手册页但无法获得语法。

@date = &ParseRecur("2010:4:0:1:0:0:0"); 
@date = &ParseRecur("2010:4:0:1*:0:0:0"); 

也不起作用!

2 个答案:

答案 0 :(得分:2)

从手册页: “有一小部分可以解析的英文字符串代替数字重复描述。” 查看手册页中的示例。

所以,如果你想要一个月的一天 - 比如2010年的六月你会做:

@dates = ParseRecur("every day in June 2010");

答案 1 :(得分:1)

您可以使用自己的循环构建列表,而不是使用ParseRecur。

$month = 4;
for ($day = 1; $day <= 31; $day++) {
    my $date = UnixDate( "$month/$day/2010", "%m-%d-%Y" );
    push( @list, $date ) if (defined $date);
}