Я пытаюсь создать функцию даты и времени, чтобы проверить, прошли ли заданные дату и время, но моя функция всегда возвращает истину, даже когда я ставлю будущую дату.
У меня ниже пример класса
<?php
class JobTimer{
public function __construct() {
}
public function isDateTime($startOn, $timezone = "GMT"){
$nowTime = new \DateTime("NOW", new \DateTimeZone($timezone));
$startTime = \DateTime::createFromFormat('M d, Y H:i:s', $startOn, new \DateTimeZone($timezone));
return ($nowTime >= $startTime ? true : false);
}
}
?>
Использование Все возвращается true, я ожидаю вернуть false
, если текущее время, основанное на timezone
, еще не истекло или не вернулось true
, когда время истекло или время now
<?php
$job = new JobTimer();
//if($job->isDateTime("2019-05-02 12:00AM", "Asia/Kuala_Lumpur")){
//if($job->isDateTime("2021-05-02 12:00AM", "Asia/Kuala_Lumpur")){
if($job->isDateTime("2020-05-02 12:00AM", "Asia/Kuala_Lumpur")){
echo "YES";
}else{
echo "NO";
}
?>