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