현재 날짜 / 시간이 설정된 날짜 / 시간을 지난 지 어떻게 확인할 수 있습니까?
현재 날짜 / 시간이 지난 지 확인하는 스크립트를 작성하려고합니다. 05/15/2010 at 4PM
이 검사를 수행하기 위해 PHP의 date () 함수를 어떻게 사용할 수 있습니까?
PHP> = 5.2.0부터 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
기능 을 사용하는 것도 가능 합니다. 원래 답변을 참조하십시오 .
비교 연산자를위한 함수를 구현하는 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';
}
dateTime 개체 범위는 과거 약 2 억 9,200 억 년부터 미래에도 동일합니다. 타임 스탬프 함수에는 제한이 있습니다 (올바르게 기억하는 경우 1970 년부터 2038 년까지).
strtotime
설정된 날짜 / 시간을 타임 스탬프로 변환하려면 PHP의 기능을 확인하십시오 . http://php.net/manual/en/function.strtotime.php
strtotime
날짜 / 시간 형식을 올바르게 처리 할 수없는 경우 ( "오후 4시"는 작동하지만 "오후 4시"는 작동하지 않음) 예 substr
를 들어 형식을 구문 분석 / 수정하고 타임 스탬프를 검색 하기 위해 문자열 함수를 사용해야합니다. 다른 기능, 예 : mktime
.
그런 다음 결과 타임 스탬프를 현재 날짜 / 시간 ( if ($calulated_timestamp > time()) { /* date in the future */ }
) 과 비교하여 설정된 날짜 / 시간이 과거인지 미래인지 확인합니다.
날짜 / 시간 함수에 대한 PHP 문서를 읽고 문제가 발생하면 소스 코드를 가지고 여기로 돌아 오는 것이 좋습니다.
이 날짜를 비교하는 데 문제가 있었고 조정이 필요합니다.
function getDatetimeNow() {
$tz_object = new DateTimeZone('Europe/Belgrade');
$datetime = new DateTime();
$datetime->setTimezone($tz_object);
return $datetime->format('Y\-m\-d\ h:i:s');
}
$currentDate = getDatetimeNow();
$dtA = new DateTime($currentDate);
$dtB = new DateTime($date);
if ( $dtA > $dtB ) {
$active = 0;
return $active;
}
else {
$active = 1;
return $active;
}
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;
}
'Programming' 카테고리의 다른 글
virtualenv에서 Pip 설치 Matplotlib 오류 (0) | 2020.08.10 |
---|---|
div의 종횡비를 유지하지만 CSS에서 화면 너비와 높이를 채우시겠습니까? (0) | 2020.08.10 |
마 젠토 블록 및 블록 유형 이해 (0) | 2020.08.10 |
VSTS 2010 SGEN : 오류 : 파일 또는 어셈블리를로드 할 수 없습니다 (HRESULT에서 예외 : 0x80131515). (0) | 2020.08.10 |
C #에서 마우스 위치 가져 오기 (0) | 2020.08.10 |