我正在寻找确定当前时间是否在晚上9点至早上6点之间的最佳方式,并根据布尔值执行相关操作。
我不能完全确定这样做的最佳方式......我想我可以使用纪元时间(Time :: Local)获得时间,因为它是在上午9点晚上,以及第二天早上6点的时间 - 但这是最好的方式吗?还是有更好的方式?
由于
答案 0 :(得分:2)
这就是必要的
my $hour = (localtime)[2];
if ( $hour >= 21 or $hour < 6 ) { ... }
答案 1 :(得分:0)
如果$ x是开始时间,$ y是结束时间,则可以通过以下方式检查$ z时间:
my $x = 21;
my $y = 6;
my $z = 3;
if ( $y < $x ? ($z < $y or $z >= $x) : ($z >= $x and $z < $y)) {
#yep
} else {
#nope
}
可能已经成熟,可以减少。