PHP의 날짜 및 시간 조작 가이드

王林
풀어 주다: 2023-05-22 17:02:01
원래의
3508명이 탐색했습니다.

PHP 개발에서 날짜 및 시간 연산은 필수적인 부분입니다. 사용자 등록 시간을 처리하든, 기사를 녹화하는 시간이든, 날짜와 시간을 처리해야 합니다. 이 글에서는 PHP 개발자들에게 도움이 되고자 PHP에서 날짜와 시간을 조작하는 방법을 자세히 소개하겠습니다.

1. 타임스탬프

타임스탬프는 시간을 초 단위로 표현하는 방식으로, 일반적으로 1970년 1월 1일 00:00:00 UTC부터 현재 시간까지의 초 수를 나타냅니다. PHP에서는 time() 함수를 사용하여 현재 타임스탬프를 가져올 수 있습니다:

echo time();
로그인 후 복사

출력:

1602603419
로그인 후 복사

time() 함수는 현재 서버 시간대의 타임스탬프를 반환한다는 점에 유의해야 합니다. 특정 시간대의 타임스탬프를 얻고 싶다면 나중에 소개할 DateTime 객체를 변환용으로 사용할 수 있습니다.

2. 날짜 형식

타임스탬프의 경우 date() 함수를 사용하여 필요한 날짜 문자열로 형식을 지정할 수 있습니다. date() 함수의 첫 번째 매개변수는 날짜 형식이며, 여기에는 다양한 날짜 및 시간 요소를 나타내는 다양한 자리 표시자가 포함될 수 있습니다. 가장 일반적으로 사용되는 자리 표시자는 다음과 같습니다.

자리 표시자 설명
Y연도, 4자리
m월, 2자리
d 날짜, 두 자리
H시, 두 자리, 24시간 형식
i분, 두 자리
s초, 두 자리

예를 들어, 타임스탬프를 연도, 월, 일 형식으로 변환:

echo date('Y-m-d', time());
로그인 후 복사

출력:

2020-10-13
로그인 후 복사

타임스탬프를 시, 분, 초가 포함된 날짜 시간 형식으로 변환:

echo date('Y-m-d H:i:s', time());
로그인 후 복사

출력:

2020-10-13 09:43:39
로그인 후 복사

3. 날짜 계산

개발 중에, 때로는 10일 후의 날짜를 얻는 것과 같이 날짜를 더하거나 빼야 하는 경우도 있습니다. PHP는 날짜 계산을 쉽게 수행할 수 있는 DateTime 클래스를 제공합니다.

먼저 DateTime 객체를 생성해야 합니다. 생성자에 날짜 문자열을 전달하거나 createFromFormat() 메서드를 사용하여 지정된 형식에 따라 객체를 생성할 수 있습니다.

$dateTime = new DateTime('2020-10-13');
// 或者
$dateTime = DateTime::createFromFormat('Y-m-d', '2020-10-13');
로그인 후 복사

그런 다음 add()를 사용할 수 있습니다. 메소드 및 sub() 메소드 덧셈과 뺄셈 연산이 수행됩니다. 예를 들어 10일 후의 날짜를 가져옵니다.

$dateTime->add(new DateInterval('P10D'));
echo $dateTime->format('Y-m-d');
로그인 후 복사

출력:

2020-10-23
로그인 후 복사

그중 P10D는 접두사 P(시간 간격을 나타냄)를 나타내고 10은 간격의 일 수를 나타냅니다.

또한 수정() 메서드를 사용하여 날짜를 더하고 뺄 수도 있습니다. 예를 들어 3시간 이후의 시간을 가져옵니다.

$dateTime->modify('+3 hours');
echo $dateTime->format('Y-m-d H:i:s');
로그인 후 복사

출력:

2020-10-13 12:43:39
로그인 후 복사

4. 시간대 처리

PHP에서 타임스탬프와 날짜 및 시간 문자열은 시간대와 관련이 있습니다. 기본적으로 PHP는 서버의 시간대 설정을 사용합니다. 그러나 개발 중에 다른 시간대의 시간을 처리해야 할 수도 있으며, 이 경우 시간대를 처리해야 합니다.

PHP에서는 date_default_timezone_set() 함수를 사용하여 시간대를 설정할 수 있습니다. 예:

date_default_timezone_set('Asia/Shanghai');
로그인 후 복사

설정 후에는 날짜와 시간을 얻기 위해 date() 함수를 사용하는 모든 장소에서 지정된 시간대를 사용하게 됩니다. 마찬가지로 타임스탬프 처리의 경우 시간대 문제를 방지하기 위해 DateTime 클래스 및 관련 메서드도 사용해야 합니다.

또한, 서로 다른 시간대 간 변환이 필요한 경우 DateTime 클래스에서 제공하는 setTimeZone() 메서드와 getTimeZone() 메서드를 사용할 수도 있습니다. 예를 들어 현재 시간대의 날짜 및 시간 개체를 다른 시간대의 날짜 및 시간 개체로 변환합니다.

$dateTime = new DateTime('2020-10-13 09:43:39', new DateTimeZone('Asia/Shanghai'));
echo $dateTime->format('Y-m-d H:i:s');
// 输出:2020-10-13 09:43:39

$dateTime->setTimeZone(new DateTimeZone('America/New_York'));
echo $dateTime->format('Y-m-d H:i:s');
// 输出:2020-10-12 21:43:39
로그인 후 복사

setTimeZone() 메서드를 통해 대상 시간대를 설정한 후 다음 형식을 통해 문자열로 형식을 지정합니다. () 방법.

5. 요약

이 문서에서는 타임스탬프, 날짜 형식, 날짜 계산 및 시간대 처리를 포함하여 PHP의 날짜 및 시간 작업을 소개합니다. 실제 개발에서 이러한 작업을 익히는 것은 매우 유용하며 개발 효율성과 프로그램 견고성을 향상시킬 수 있습니다. 이 글이 PHP 개발자들에게 도움이 되기를 바랍니다.

위 내용은 PHP의 날짜 및 시간 조작 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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