【问题标题】:Check if the time is past 9pm using PHP使用 PHP 检查时间是否超过晚上 9 点
【发布时间】:2025-11-29 18:35:02
【问题描述】:

我想要做的是我有一个选定的日期,格式如下:

$selectedDate = 2010/02/24 

我想检查它是今天的日期还是服务器上的晚上 9 点之后,如果是,请设置一个值。

我可以通过以下方式获得时间:

$checkTime = date("H:i");

我想创建类似的东西:

if ($checkTime > 21:00 && $selectedDate == date("Y/m/d")) { //do my stuff }

但对语法有点不确定。

非常感谢您的帮助

【问题讨论】:

    标签: php datetime date


    【解决方案1】:
    $checkDate = '2010-02-24';
    $checkTime = '2100';
    
    if( date( 'Y-m-d' ) == $checkDate && date( 'Hi' ) >= $checkTime ) {
        // Do something clever
    }
    

    注意使用Hi 作为日期格式字符串,这样可以进行数值比较。

    【讨论】:

    • 我花了一段时间才弄清楚为什么你把虚拟字符串“Hi”卡在那里。然后我觉得很聪明。
    • 太棒了,但是有一个小问题。当我使用“硬编码日期”(即用户选择日期)时,这一切都有效,但是如果我使用: date("Y/m/d") 这是默认值,如果没有选择日期,则匹配不会不工作。我需要为此做些什么吗?
    • 别担心,完全错过了-,我用/来分割D M Y!非常感谢您的帮助
    • 为什么使用 Hi 而不仅仅是 H 并与 21 进行比较?你不包括秒,那为什么是分钟呢?
    • 或多或少是任意的。我本可以在 Swatch 节拍中计算出 21.00 并将其用作比较。