Perl:检查当前日期是否在两个给定日期之间

标签 perl

如果当天在另外两天之间,我将如何找到。

如果另外两天是星期二至星期四,下面的代码就可以工作

但是如果我想让我的用户给出一个范围,比如星期五到星期一,该怎么办。

    my $timestamp = time;
    my $dow       = ( localtime($timestamp) )[6];

    my $range = '5-1'; # 5 being friday and 1 being monday 
    $range =~ m/(\d+)-(\d+)/;
    my ( $start, $end ) = ( $1, $2 );

    if ( $start >= 0 && $end <= 6 && $dow >= $start && $dow <= $end ) {
        print "$dow falls between your range";
        }

最佳答案

my $in = ( $start <= $end
   ? $start <= $dow && $dow <= $end
   : !( $end < $dow && $dow < $start )
);

my $in = ( $start <= $end
   ? $start <= $dow && $dow <= $end
   : $dow <= $end || $start <= $dow
);

关于Perl:检查当前日期是否在两个给定日期之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24482784/

相关文章:

forms - Catalyst html::formhandler 传递表单值

linux - 如果需要,如何在一行中触摸文件和 mkdir

perl - 为什么我使用 Perl 的 DBI->connect 会无声无息地失败?

perl - Perl 中带有单个标量参数的 system() 调用的退出代码

bash - 清理 shell 运行时环境以运行系统 Perl?

perl - 没有规则来制作目标 '/usr/lib/clucene_dll.o' ,需要 'CLuceneWrap.so'

perl - "* *"在这个 Perl 脚本中的作用是什么?

perl - 将Perl代码分成两行的正确方法是什么?

perl - 如何获取已安装 Perl 模块的版本和位置?

perl - Microsoft Word 到组织模式