PHP - 将用户输入的日期与php date()进行比较?

时间:2015-05-21 20:10:43

标签: php wordpress date

我正在尝试在Wordpress中设计一些功能,用户可以使用他们输入的日期创建一个“事件”,其格式为“MM / DD / YYYY”。如果输入的日期在当前日期之后,我希望存档事件,所以我一直在做类似......

$date = get_post_meta( get_the_ID(), 'Date', true );
$todaysDate = date('n\/d\/Y');

if( $date < $todaysDate) {
    // do stuff
}

显然,这不是我应该采取的正确方法,但我不确定处理这些输入日期的最佳方法是什么。我目前设置它的方式实际上有些工作,但10月(10),11月(11)和12月(12)的几个月对比较产生了影响。什么是更好,更正确的方法呢?

2 个答案:

答案 0 :(得分:0)

使用strtotime()将任何英文文本日期时间描述解析为Unix时间戳。然后进行比较。

if (strtotime($date) < strtotime($todaysDate))
{
    // Do more stuff

答案 1 :(得分:0)

从字面上比较日期时,它们必须采用相同的格式。以下是如何将日期从元字段转换为'Y-m-d'格式的示例:

$date = date( 'Y-m-d', strtotime( get_post_meta( get_the_ID(), 'Date', true ) ) );
$today = date( 'Y-m-d' );

if ( $date < $today ) {
    var_dump( $date, $today );
}

如果使用strtotime()将文本日期转换为Unix时间戳,则可以更轻松地完成此操作:

if (  strtotime( get_post_meta( get_the_ID(), 'Date', true ) ) < strtotime( date( 'Y-m-d' ) ) ) {
    echo 'do stuff';
}
相关问题