如何检查Perl今天是星期一?
需要安装哪些模块?
任何人都可以帮我一个例子吗?
答案 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"
}