現在の時刻が小さいか、20:00 に等しいか大きいかを確認したい (たとえば)。どうすればPerlでそれを行うことができますか?
ありがとう。
機能をチェックしてくださいlocaltime
。
use warnings;
use strict;
my $after_time = "13:32";
my @time = localtime(time);
if ($after_time =~ /(\d+):(\d+)/ and
$time[2] >= $1 and
$time[1] >= $2
)
{
print "It is after $after_time";
}
更新:への 2 回の呼び出しが原因で元のコードに欠陥があったことを指摘してくれた Dave Cross に感謝しlocaltime()
ます。
あなたが何を求めているのかは正確にはわかりませんが、おそらくこのようなものです。
use Time::Piece;
my $hour = localtime->hour;
if ($hour < 20) {
say "It's before 20:00";
} elsif {$hour > 20) {
say "It's after 20:00";
} else {
say "It's 20:00";
}
実際には、正しい「if」条件は多少異なります。時間が分よりも大きい場合、分が大きいかどうかを確認する必要はありません(記号の方向も修正しました:)
use warnings;
use strict;
my $after_time = "13:32";
my @time = localtime(time);
if ( $after_time =~ /(\d+):(\d+)/
and (( $time[2] > $1 ) || ( $time[2] == $1 and $time[1] >= $2 ))
) {
print "It is after $after_time";
}