You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP Laravel如何判断当前时间处于19:00至次日04:00区间

Laravel 跨天时间区间判断实现方案

Laravel默认集成了Carbon日期处理库,直接基于Carbon实现即可,不需要额外安装依赖。

极简实现(精确到小时)

如果只需要精确到小时,用以下逻辑即可,核心是跨天区间可以拆分为「当日19点后」+「当日4点前」两个判断:

use Carbon\Carbon;

function checkTimeRange(): bool
{
    // 获取当前时间的小时数
    $currentHour = Carbon::now()->hour;
    return $currentHour >= 19 || $currentHour <= 4;
}

精确到分钟的实现

如果需要支持更灵活的时间配置(比如调整为19:30到次日04:30),用以下写法:

use Carbon\Carbon;

function checkTimeRange(): bool
{
    $night = "19:00";
    $morning = "04:00";
    
    $now = Carbon::now();
    // 生成当日19点的时间实例
    $start = Carbon::createFromTimeString($night);
    // 生成当日4点的时间实例
    $end = Carbon::createFromTimeString($morning);
    
    // 当前时间大于等于当日19点,或者小于等于当日4点,都属于目标区间
    return $now->gte($start) || $now->lte($end);
}

调用上述方法时,符合时间区间就会返回true,否则返回false。

内容的提问来源于stack exchange,提问作者snouck.socmed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 22:09:03