用 Carbon 比较两个时间
假设:
use Carbon\Carbon;
$t1 = Carbon::parse('2026-01-20 10:00:00');
$t2 = Carbon::parse('2026-01-20 12:00:00');
1. 哪个更早 / 更晚(最常用)
$t1->lt($t2); // true (t1 < t2)
$t1->lte($t2); // true (t1 <= t2)
$t1->gt($t2); // false (t1 > t2)
$t1->gte($t2); // false (t1 >= t2)
推荐优先用这个,语义清楚
2. 是否相等
$t1->eq($t2); // false
️ 包含 秒 / 微秒 / 时区,完全一致才算相等
3. compare()(类似 strcmp)
$t1->compareTo($t2);
// -1 : t1 < t2
// 0 : t1 == t2
// 1 : t1 > t2
适合排序、三态判断
4. diffInSeconds / diffInMinutes(算差值)
$t1->diffInSeconds($t2); // 7200
$t1->diffInMinutes($t2); // 120
️ 默认返回绝对值
如果你需要正负:
$t1->diffInSeconds($t2, false); // -7200
5. 判断是否在某个时间段内(超实用)
$now = Carbon::now();
$start = Carbon::parse('09:00');
$end = Carbon::parse('18:00');
$now->between($start, $end); // true / false
$now->betweenIncluded($start, $end); // 包含边界