php 时间段内-php判断某个时间戳是否在指定的某一天的某个时间段内

PHP 投稿 16300 0 评论

php 时间段内-php判断某个时间戳是否在指定的某一天的某个时间段内

现在有个需求,定时任务只在指定时间段内执行,例如邮件只在早上九点以后到晚上十点之前发送,其他时间段内不发送,就下面这个判断就行了,php判断某个时间戳是否在指定的某一天的某个时间段内。

/**
 * 判断某个时间戳是否在指定的某一天的某个时间段内
 * @param int $timeStamp 需要判断的时间戳
 * @param string $type 判断方式,值有:gt lt in
 * @param string $timeBeginStr 某天的起始时间字符串,如:8:00:00
 * @param string $timeEndStr 某天的结束时间字符串,如:21:30:00
 * @param string $date 某一天,默认值为当天,如:2021-1-11
 * @return bool
 */
function timeStampIsInPeriod($timeStamp, $type = 'in', $timeBeginStr = '', $timeEndStr = '', $date = '') {
    !$date && $date = date('Y-m-d');

    switch ($type) {
        case 'gt':
            if ($timeStamp > strtotime($date . ' ' . $timeBeginStr)) {
                return true;
            }
            break;
        case 'lt':
            if ($timeStamp < strtotime($date . ' ' . $timeBeginStr)) {
                return true;
            }
            break;
        case 'in':
            if ($timeStamp > strtotime($date . ' ' . $timeBeginStr) && $timeStamp < strtotime($date . ' ' . $timeEndStr)) {
                return true;
            }
            break;
    }

    return false;
}

编程笔记 » php 时间段内-php判断某个时间戳是否在指定的某一天的某个时间段内

赞同 (70) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽