답변:
PHP> = 5.2.2부터 DateTime
다음과 같이 클래스를 사용할 수 있습니다 .
if (new DateTime() > new DateTime("2010-05-15 16:00:00")) {
# current time is greater than 2010-05-15 16:00:00
# in other words, 2010-05-15 16:00:00 has passed
}
DateTime 생성자에 전달 된 문자열은 이러한 규칙에 따라 구문 분석 됩니다 .
time
및 strtotime
기능 을 사용하는 것도 가능 합니다. 원래 답변보기 .
new DateTime('2010-05-15')
예를 들어 이전에 초기화 한 DateTime 개체가 될 수 있습니다.
$object
DateTime 객체 라고 가정하면 if (new DateTime() > $object) {}
잘못 작동합니다. 그러나 if (time() > $bject->getTimeStamp()) {}
올바르게 작동합니다. @Salman
비교 연산자를위한 함수를 구현하는 DateTime 클래스 도 있습니다 .
// $now = new DateTime();
$dtA = new DateTime('05/14/2010 3:00PM');
$dtB = new DateTime('05/14/2010 4:00PM');
if ( $dtA > $dtB ) {
echo 'dtA > dtB';
}
else {
echo 'dtA <= dtB';
}
strtotime
설정된 날짜 / 시간을 타임 스탬프로 변환하려면 PHP의 -기능을 확인하십시오 . http://php.net/manual/en/function.strtotime.php
strtotime
날짜 / 시간 형식을 올바르게 처리 할 수없는 경우 ( "오후 4시"는 작동하지만 "오후 4시"는 작동하지 않음), 예 substr
를 들어 형식을 구문 분석 / 수정하고 타임 스탬프를 검색 하는 데 문자열 함수를 사용해야합니다. 다른 기능, 예 :mktime
.
그런 다음 결과 타임 스탬프를 현재 날짜 / 시간 (if ($calulated_timestamp > time()) { /* date in the future */ }
) 설정된 날짜 / 시간이 과거인지 미래인지 확인합니다.
날짜 / 시간 함수에 대한 PHP 문서를 읽고 문제가 발생하면 소스 코드를 가지고 여기로 돌아 오는 것이 좋습니다.
date_default_timezone_set('Asia/Kolkata');
$curDateTime = date("Y-m-d H:i:s");
$myDate = date("Y-m-d H:i:s", strtotime("2018-06-26 16:15:33"));
if($myDate < $curDateTime){
echo "active";exit;
}else{
echo "inactive";exit;
}
$myDate
과 같게 작동하지 않을 것 string (0) ""
입니다.