strtotime

(PHP 4, PHP 5, PHP 7, PHP 8)

strtotime — 모든 영어 텍스트 날짜/시간 설명에 대해 Unix 타임스탬프로 구문 분석


설명

strtotime(string $datetime, ?int $baseTimestamp = null): int|false

함수는 영어 날짜 형식을 포함하는 문자열이 제공될 것으로 예상하고 해당 형식을 baseTimestamp에 제공된 타임스탬프에 상대적인 Unix 타임스탬프(1970년 1월 1일 00:00:00 UTC 이후의 초 수)로 구문 분석하려고 시도합니다. baseTimestamp가 제공되지 않은 경우 현재 시간입니다.

경고 이 함수가 반환하는 Unix 타임스탬프에는 시간대에 대한 정보가 포함되어 있지 않습니다. 날짜/시간 정보로 계산을 수행하려면 더 많은 함수가 있는 DateTimeImmutable을 사용해야 합니다.

이 함수의 각 매개변수는 해당 매개변수에 시간대가 지정되지 않은 경우 기본 시간대를 사용합니다. 의도한 경우가 아니면 각 매개변수에 다른 시간대를 사용하지 않도록 주의하십시오. 기본 시간대를 정의하는 다양한 방법에 대해서는 date_default_timezone_get()을 참조하십시오.


매개변수

datetime
날짜/시간 문자열입니다. 유효한 형식은 날짜 및 시간 형식에 설명되어 있습니다.
baseTimestamp
상대 날짜 계산을 위한 기준으로 사용되는 타임스탬프입니다.

반환 값

성공하면 타임스탬프를 반환하고 그렇지 않으면 false를 반환합니다.


오류/예외

날짜/시간 함수에 대한 모든 호출은 시간대가 유효하지 않은 경우 E_WARNING을 생성합니다. date_default_timezone_set()도 참조하십시오.


변경 로그

버전 설명
8.0.0 baseTimestamp는 이제 nullable입니다.

Examples

예제 #1 strtotime() 예제

                  
<?php
echo strtotime("now"), "\n";
echo strtotime("10 September 2000"), "\n";
echo strtotime("+1 day"), "\n";
echo strtotime("+1 week"), "\n";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
echo strtotime("next Thursday"), "\n";
echo strtotime("last Monday"), "\n";
?>
                  
                

예제 #2 실패 확인

                  
<?php
$str = 'Not Good';

if (($timestamp = strtotime($str)) === false) {
    echo "The string ($str) is bogus";
} else {
    echo "$str == " . date('l dS \o\f F Y h:i:s A', $timestamp);
}
?>
                  
                

메모

메모: 연도 숫자가 두 자리 형식으로 지정되면 00-69 사이의 값은 2000-2069에 매핑되고 70-99는 1970-1999에 매핑됩니다. 32비트 시스템에서 발생할 수 있는 차이점에 대해서는 아래 참고 사항을 참조하십시오(가능한 날짜는 2038-01-19 03:14:07에 종료될 수 있음).

메모:

타임스탬프의 유효한 범위는 일반적으로 1901년 12월 13일 금요일 20:45:54 UTC부터 2038년 1월 19일 화요일 03:14:07 UTC까지입니다. (이것은 32비트 부호 있는 정수의 최소값과 최대값에 해당하는 날짜입니다.)

64비트 PHP 버전의 경우 타임스탬프의 유효 범위는 사실상 무한합니다. 64비트는 어느 방향으로든 약 2930억 년을 나타낼 수 있기 때문입니다.

메모:

m/d/y 또는 d-m-y 형식의 날짜는 다양한 구성 요소 사이의 구분 기호를 보면 명확해집니다. 구분 기호가 슬래시(/)이면 미국식 m/d/y가 사용됩니다. 반면 구분 기호가 대시(-) 또는 점(.)이면 유럽식 d-m-y 형식이 사용됩니다. 그러나 연도가 두 자리 형식으로 제공되고 구분 기호가 대시(-)인 경우 날짜 문자열은 y-m-d로 구문 분석됩니다.

잠재적인 모호성을 피하려면 가능한 경우 ISO 8601(YYYY-MM-DD) 날짜 또는 DateTime::createFromFormat()을 사용하는 것이 가장 좋습니다.

메모: 수학 연산에 이 함수를 사용하는 것은 바람직하지 않습니다. DateTime::add()DateTime::sub()을 사용하는 것이 좋습니다.


기타