PHP는 풍부한 기능 라이브러리와 편리하고 사용하기 쉬운 날짜 및 시간 수업을 갖춘 인기 있는 웹 프로그래밍 언어입니다. PHP 애플리케이션에서는 후속 계산 및 비교를 위해 타임스탬프를 얻기 위해 시간 문자열을 처리해야 하는 경우가 많습니다. 이 문서에서는 시간 문자열을 타임스탬프로 변환하는 방법을 소개합니다.
1. strtotime 함수
strtotime 함수는 PHP에 내장된 날짜 및 시간 처리 함수로, 일부 일반적인 날짜 및 시간 문자열을 Unix 타임스탬프로 변환할 수 있습니다. 예:
echo strtotime('2022-03-01 12:00:00'); // 1646083200
이 함수는 매우 편리하며 일반적으로 사용되는 "년-월-일 시:분:초" 형식 문자열을 타임스탬프로 직접 변환할 수 있습니다. 동시에 strtotime 함수는 상대 시간 형식도 지원합니다. 예를 들어 "내일" 및 "다음 월요일"과 같은 문자열을 입력하여 해당 타임스탬프를 가져올 수 있습니다.
echo strtotime('tomorrow'); // 明天此时时间的时间戳 echo strtotime('next Monday'); // 下个星期一此时时间的时间戳
그러나 strtotime 함수에도 몇 가지 제한 사항이 있습니다. 첫째, 일부 비표준 날짜-시간 형식을 처리할 수 없습니다. 예:
echo strtotime('2022年3月1日 12:00:00'); // false
이 문자열은 날짜와 시간도 나타내지만 strtotime 함수는 이를 구문 분석할 수 없습니다. 둘째, strtotime 함수는 좀 더 복잡한 시간 형식에 대해 잘못된 결과를 얻을 수 있습니다. 예를 들어 시간대 정보가 포함되지 않은 일부 문자열의 경우 strtotime 함수는 기본적으로 구문 분석에 현재 시간대를 사용하므로 잘못된 결과가 발생할 수 있습니다.
2. DateTime 클래스
DateTime 클래스는 PHP에서 제공하는 날짜 및 시간 객체로 날짜 및 시간 형식, 시간대 변환 등 날짜 및 시간을 처리하는 다양한 메서드를 제공합니다. 시간 문자열을 처리할 때 DateTime 클래스를 사용하면 올바른 타임스탬프를 얻을 수 있습니다.
$date = new DateTime('2022-03-01 12:00:00'); echo $date->getTimestamp(); // 1646083200
DateTime 클래스는 다양한 날짜 및 시간 문자열 형식을 수용할 수 있으며 처리 방법은 매우 유연하며 다양한 형식을 자동으로 인식하고 변환할 수 있습니다.
getTimestamp 메서드 외에도 DateTime 클래스는 날짜 및 시간 문자열을 다양한 형식으로 출력하거나 날짜 및 시간의 덧셈, 뺄셈, 비교 등의 작업을 수행하기 위한 다양한 메서드도 제공합니다.
$date = new DateTime('2022-03-01 12:00:00'); echo $date->format('Y-m-d H:i:s'); // '2022-03-01 12:00:00' $date->add(new DateInterval('P2D')); // 添加2天 echo $date->format('Y-m-d H:i:s'); // '2022-03-03 12:00:00' echo ($date > new DateTime('now')); // true
Summary
strtotime 함수를 사용하든 DateTime 클래스를 사용하든 관계없이 시간 문자열을 타임스탬프로 변환할 수 있습니다. 더 단순한 시간 형식의 경우 매우 편리하기 때문에 strtotime 함수를 선택하는 것이 더 좋습니다. 그러나 더 복잡한 날짜 형식을 처리해야 하는 경우 더 높은 구문 분석 정확도를 얻기 위해 DateTime 클래스를 사용하는 것이 좋습니다.
위 내용은 PHP를 사용하여 시간 문자열을 타임스탬프로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!