在開發發布訊息系統時,為了避免深夜打擾用戶,需要限制發布功能僅在白天時段(例如 07:00–18:00)開放。這就需要在程式中比較「當前時間」與「允許時段」的大小關係。
PHP 允許直接使用比較運算子(<、>、<=、>=)對時間字串進行大小比較,前提是時間格式一致(如 H:i 24 小時制)。
<?php
/**
* PHP 時間比較控制功能開放時段
*/
// 定義允許時段(注意:必須為字串,冒號為英文半形)
$start_time = '07:00';
$end_time = '18:00';
// 取得當前伺服器時間(H:i 格式)
$now_time = date('H:i');
// 判斷邏輯
if ($start_time <= $now_time && $end_time >= $now_time) {
echo '目前在開放時段內,可以發布訊息!';
} else {
echo '大哥,現在才 ' . $now_time . ' 啊~ 還在休息時間,請稍後再試。';
}
?>
date() 取得的是伺服器時間,請確認 php.ini 中的 date.timezone 設定正確(如 Asia/Taipei)。H:i 或皆為 H:i:s),否則會得到錯誤結果。同樣邏輯可應用於:限時搶購、排程發文、維護時段攔截等場景。