今天如何检查Perl周一?

时间:2013-05-29 09:32:48

标签: perl perl-module

如何检查Perl今天是星期一?

需要安装哪些模块?

任何人都可以帮我一个例子吗?

3 个答案:

答案 0 :(得分:6)

最简单的方法是使用localtime。它返回一个值列表。其中第七个是工作日,从周日开始。因此,星期一的值为1.如果没有给出参数,它会使用当前时间(time),这就是你想要的。

if ( (localtime)[6] == 1) {
  print "Today is Monday!\n";
}

由于我们只需要索引6(第七个返回值),我们可以将{p}放在localtime周围以强制它进入列表,并直接从该列表访问索引。我们可以将该标量值与1进行比较。

localtime是一个内置函数。不需要任何额外的模块,甚至不包括Perl Core中的模块。这只是开箱即用。

答案 1 :(得分:4)

如果您想要更多“人”(实际上是面向对象的)方式来访问localtime中的数据,请使用Time::Piece的{​​{1}}版本(Time::Piece为核心模块自perl 5.10):

localtime

您还可以查看文档并使用:

use v5.10;
use Time::Piece qw(localtime);

my $t = localtime;
if ($t->day_of_week == 1) {
   say 'Today is Monday, too!';
}

答案 2 :(得分:4)

您也可以使用DateTime模块。

use DateTime;

if ( DateTime->today->day_of_week == 1 ) {
    print "Today is monday\n"
}

如果您的星期一从0开始,您可以使用day_of_week_0

if ( DateTime->today->day_of_week_0 == 0 ) {
    print "Today is monday\n"
}