未在datepiker中选择的事件日期和时间小于服务器时间


Event date and time not select in datepiker less then server time

  1. 用户使用bootstrep datepiker护理节日活动
  2. 用户先选择日期和时间,然后选择时间4.如果用户选择日期事件时间为04-09-14 11:55AM,服务器时间为04-09-14 11:60AM在创建事件的无效日期之后。

    我正在使用此代码。

        $event_time =htmlentities($_REQUEST['date_piker']) ;
        $server_time    = htmlentities( date('m-d-y h:iA')) ;
        echo 'Event time:-&nbsp;&nbsp;'. $event_time.'</br>';
        echo 'Server Time:-'. $server_time;
    
        if($event_time < $server_time)
        {
            echo 'Date and time is invalid';
        }
        else
        {
           echo 'Date and time is valid'; 
        }  
    

    但它不起作用。我需要帮助。

您应该使用DateTime::createFromFormat

$event = DateTime::createFromFormat('m-d-y h:iA', '04-09-14 11:55AM');
$server = DateTime::createFromFormat('m-d-y h:iA', '04-09-14 11:00AM');
if($event < $server){
    echo 'Date and time is invalid';
}else{
    echo 'Date and time is valid'; 
}

为什么不使用时间戳?像这个

<?php
$event_time = htmlentities($_REQUEST['date_piker']);
$eventTimeTimestamp = strtotime($event_time);
$serverTimeTimestamp = time();
$server_time = htmlentities(date('m-d-y h:iA', $serverTimeTimestamp));
echo 'Event time:-&nbsp;&nbsp;' . $event_time . '</br>';
echo 'Server Time:-' . $server_time;
if ($eventTimeTimestamp < $serverTimeTimestamp) {
    echo 'Date and time is invalid';
} else {
    echo 'Date and time is valid';
}