>  기사  >  백엔드 개발  >  PHP를 타임스탬프로 변환하는 구현

PHP를 타임스탬프로 변환하는 구현

PHPz
PHPz원래의
2023-03-29 10:13:551478검색

PHP는 웹 개발에 널리 사용되는 인기 있는 오픈 소스 스크립팅 언어입니다. 그 중 타임스탬프(timestamp)는 1970년 1월 1일 0시 이후 경과된 초수를 나타내는 매우 중요한 데이터 유형이다. PHP에서는 시간 문자열을 타임스탬프로 변환하는 것이 매우 편리합니다. 이 기사에서는 PHP에서 타임스탬프를 변환하는 몇 가지 방법을 소개합니다.

방법 1: strtotime()

strtotime() 함수는 시간 문자열을 타임스탬프로 변환하는 PHP의 매우 편리한 함수입니다. 날짜와 시간을 나타내는 문자열을 함수에 전달하여 해당 타임스탬프를 반환할 수 있습니다. 이 타임스탬프의 값은 1970년 1월 1일 00:00:00 이후 경과된 초 수를 나타냅니다.

예를 들어 다음 PHP 코드는 현재 날짜와 시간을 타임스탬프로 변환합니다.

echo strtotime("now");

출력 결과:

1623862003

위 코드에서는 문자열 "now"를 strtotime() 함수에 전달합니다. 문자열을 현재 날짜 및 시간으로 해석하고 해당 타임스탬프를 반환합니다.

마찬가지로 strtotime() 함수를 사용하여 날짜와 시간을 나타내는 문자열을 타임스탬프로 변환할 수 있습니다. 예를 들어, 다음 코드는 "2022년 1월 1일"을 나타내는 문자열을 타임스탬프로 변환합니다.

echo strtotime("2022-01-01");

출력 결과:

1640947200

위 코드에서는 "2022-01-01" 문자열을 strtotime()에 전달했습니다. 기능. 문자열을 2022년 1월 1일 0시로 해석하고 해당 타임스탬프를 반환합니다.

strtotime() 함수에 지원되지 않는 날짜 및 시간 형식이 있다는 점은 주목할 가치가 있습니다. 예를 들어, 다음 형식의 시간 문자열은 지원되지 않습니다.

  • "yyyy/mm/dd"
  • "yyyy.mm.dd"
  • "yyyy mm dd"

이 경우 다음을 사용해야 합니다. 기타 방법 시간 문자열을 타임스탬프로 변환합니다.

방법 2: DateTime 클래스

DateTime 클래스는 PHP 5.2 이상에서 정의된 핵심 클래스로, 매우 편리한 날짜 및 시간 연산 방법을 제공합니다. 그 중 DateTime 클래스의 createFromFormat() 메서드는 날짜 및 시간 문자열을 타임스탬프로 변환할 수 있습니다.

예를 들어 다음 PHP 코드는 "2022년 1월 1일"을 나타내는 문자열을 타임스탬프로 변환합니다.

$datetime = DateTime::createFromFormat('Y-m-d H:i:s', '2022-01-01 00:00:00');
echo $datetime->getTimestamp();

출력 결과:

1640947200

위 코드에서는 먼저 createFromFormat() 메서드를 통해 이를 생성합니다. DateTime 객체 "2022-01-01 00:00:00"을 날짜 및 시간 객체로 해석하는 생성됩니다. 그런 다음 DateTime 객체의 getTimestamp() 메서드를 사용하여 해당 타임스탬프를 얻습니다.

DateTime::createFromFormat() 메서드에는 두 개의 매개 변수가 필요하다는 점에 유의해야 합니다. 첫 번째 매개변수는 날짜 및 시간 형식이고, 두 번째 매개변수는 타임스탬프로 변환해야 하는 날짜 및 시간 문자열입니다. 예를 들어 위 코드에서 "Y-m-d H:i:s"는 날짜와 시간이 "연-월-일 시:분:초" 형식임을 의미합니다.

방법 3: mktime() 함수

mktime() 함수는 날짜와 시간을 타임스탬프로 변환하는 PHP의 매우 편리한 함수이기도 합니다. strtotime() 함수와 달리 mktime() 함수는 해당 타임스탬프를 얻기 위해 연도, 월, 일, 시, 분, 초 및 기타 매개변수를 전달해야 합니다.

예를 들어 다음 PHP 코드는 "2022년 1월 1일"을 나타내는 문자열을 타임스탬프로 변환합니다.

echo mktime(0, 0, 0, 1, 1, 2022);

출력 결과:

1640947200

위 코드에서는 mktime() 함수를 사용하여 연도( 2022), 월(1), 일(1), 시(0), 분(0), 초(0) 및 기타 매개변수가 입력되고 해당 타임스탬프가 반환됩니다.

mktime() 함수는 유효하지 않은 날짜 및 시간 값(예: 2월 30일)에 대해 -1을 반환하므로 mktime( ) 기능.

요약

이 글에서는 PHP에서 타임스탬프를 변환하는 세 가지 방법인 strtotime() 함수, DateTime 클래스 및 mktime() 함수를 소개합니다. 그 중 strtotime() 함수는 다양한 날짜 및 시간 문자열을 타임스탬프로 변환할 수 있는 가장 편리한 방법입니다. DateTime 클래스와 mktime() 함수는 특정 상황에 따라 선택할 수 있는 보다 유연한 날짜 및 시간 작업 방법을 제공합니다.

위 내용은 PHP를 타임스탬프로 변환하는 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.