> 백엔드 개발 > PHP 문제 > PHP를 사용하여 시간 문자열을 타임스탬프로 변환하는 방법

PHP를 사용하여 시간 문자열을 타임스탬프로 변환하는 방법

PHPz
풀어 주다: 2023-03-29 16:22:01
원래의
1098명이 탐색했습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿