Php 如何正确比较;年份“;在包含的脚本中使用strotime

Php 如何正确比较;年份“;在包含的脚本中使用strotime,php,strtotime,Php,Strtotime,我的错误验证无效。我尝试了很多不同的方法,似乎今年不是一个有效的比较。请告诉我示例代码是否看起来不错,问题是否一定存在于其他地方 这是我的剧本: if( isset( $arr_posts['group_event_start'] ) && date("Y",strtotime($arr_posts['group_event_start']) >= date("Y") ) ){ UM()-&g

我的错误验证无效。我尝试了很多不同的方法,似乎今年不是一个有效的比较。请告诉我示例代码是否看起来不错,问题是否一定存在于其他地方

这是我的剧本:

if( isset( $arr_posts['group_event_start'] ) && date("Y",strtotime($arr_posts['group_event_start']) >= date("Y") ) ){
        
            UM()->form()->add_error('group_event_start', __(date('Y',strtotime($arr_posts['group_event_start'])). ' You must enter a valid start date/time.','um-groups') );        

        }
以下是一个示例日期: 2021年1月1日凌晨12:00

错误消息正在输出以下内容: 2021您必须输入有效的开始日期/时间。

这表明它正在识别2021年,但没有正确地将其与日期(“Y”)进行比较,不是吗?2021年显然大于2020年

我甚至只使用日期比较就删除了条件的第一个参数。它永远不会正确验证

我遗漏了什么?

我看到一个日期()在另一个日期()的括号内


可能您正在尝试比较date(“Y”)>=date(“Y”),因此您需要更改括号。

您缺少一个冒号,我认为
(date('Y',strotime($arr\u posts['group\u event\u start'])
它没有缺少括号,只是没有正确分组。这是您想要的:
date(“Y',strotime('arr\u posts])['group\u event\u start'])>=date(“Y”)
@RoAchterberg我希望语法错误不会逃过我这么多!哈哈!谢谢!