PHP의 idate() 함수는 지역(local) 시간이나 날짜를 정수(integer) 형태로 포맷하여 반환하는 함수입니다. date() 함수와 비슷하지만, 결과가 문자열이 아닌 숫자로 반환된다는 점이 큰 차이입니다.
문법(Syntax)
idate(format, timestamp)
매개변수(Parameters)
timestamp − Unix 타임스탬프(정수)입니다. 값을 지정하지 않으면 현재 지역 시간이 기본값으로 사용되며, 이는 time() 함수의 반환값과 동일합니다.
format − 결과를 어떤 형식으로 반환할지 지정하는 포맷 문자입니다.
B − 스왓치 비트(Swatch Beat)/인터넷 시간
d − 월 기준 일(day)
h − 시간(12시간 형식)
H − 시간(24시간 형식)
i − 분(minutes)
I − 서머타임(DST, 일광 절약 시간)이 적용 중이면 1, 아니면 0 반환
L − 윤년이면 1, 아니면 0 반환
m − 월(month) 번호
s − 초(seconds)
t − 해당 월의 총 일수
U − Unix Epoch(1970년 1월 1일 00:00:00 GMT)부터 경과한 초
w − 요일(일요일 = 0)
W − ISO-8601 기준 연중 주차 번호(주는 월요일에 시작)
y − 연도(1~2자리)
Y − 연도(4자리)
z − 연 기준 몇 번째 날인지(day of year)
Z − 타임존 오프셋(초 단위)
반환 값(Return)
idate() 함수는 항상 정수를 반환합니다. 정수는 앞자리가 "0"으로 시작할 수 없기 때문에, 예상보다 적은 자릿수가 반환될 수 있다는 점에 유의해야 합니다. 예를 들어 5월을 나타내는 "05" 대신 "5"가 반환됩니다.
예제 1
다음은 특정 타임스탬프에서 연도와 해당 월의 일수를 가져오는 예제입니다.
<?php
$timestamp = strtotime('2nd December 2017');
echo idate('y', $timestamp);
echo "\n";
echo idate('t', $timestamp);
?>출력
17 31
예제 2
다양한 포맷 문자를 활용한 예제를 살펴보겠습니다.
<?php
echo idate("d") . "<br>";
echo idate("h") . "<br>";
echo idate("y") . "<br>";
echo idate("Y") . "<br>";
echo idate("z") . "<br>";
echo idate("Z") . "<br>";
?>출력
11 5 18 2018 283 0