programing

현재 날짜/시간이 설정된 날짜/시간을 지났는지 어떻게 확인할 수 있나요?

newsource 2022. 9. 28. 00:12

현재 날짜/시간이 설정된 날짜/시간을 지났는지 어떻게 확인할 수 있나요?

현재 날짜/시간이 지난 상태인지 확인하는 스크립트를 작성하려고 합니다.05/15/2010 at 4PM

PHP의 date() 함수를 사용하여 이 체크를 수행하려면 어떻게 해야 합니까?

PHP > = 5.2.2이므로 클래스를 다음과 같이 사용할 수 있습니다.

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기능들.원답을 참조해 주세요.

비교 연산자를 위한 함수를 구현하는 Date Time 클래스도 있습니다.

// $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';
}

PHP 확인strtotime- 설정일시를 타임스탬프로 변환하는 기능:http://php.net/manual/en/function.strtotime.php

한다면strtotime날짜/시간 형식을 올바르게 처리할 수 없습니다('4:00PM'은 작동하지만 '4:00PM'은 작동하지 않을 수 있음). 예를 들어 문자열 함수를 사용해야 합니다.substr형식을 해석/수정하고 다른 함수를 통해 타임스탬프를 가져옵니다.mktime.

다음으로 타임스탬프를 현재 날짜와 비교합니다( )if ($calulated_timestamp > time()) { /* date in the future */ }설정 일시가 과거인지 미래인지를 확인합니다.

PHP-doc on date/time-functions를 읽고 막히면 소스코드 몇 가지를 가지고 여기로 돌아오는 것이 좋습니다.

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;
}

언급URL : https://stackoverflow.com/questions/2832467/how-can-i-check-if-the-current-date-time-is-past-a-set-date-time