PHP의 localtime() 함수는 유닉스 타임스탬프(Unix timestamp)를 구성하는 시간 요소들을 담은 배열을 반환합니다. 이 함수는 C 언어의 localtime() 함수와 동일한 구조를 기반으로 하며, 초·분·시간부터 연중 몇 번째 날인지까지 다양한 시간 정보를 한꺼번에 얻을 수 있어 매우 유용합니다.
문법(Syntax)
localtime(timestamp, is_associative)
매개변수(Parameters)
timestamp – 정수형 유닉스 타임스탬프입니다. 값을 지정하지 않으면 현재 로컬 시간이 기본값으로 사용됩니다. 즉,
time()함수가 반환하는 값이 자동으로 적용됩니다.is_associative – 반환되는 배열의 형태를 결정하는 옵션입니다. FALSE로 설정하거나 인자를 생략하면 일반적인 숫자 인덱스 배열이 반환됩니다. TRUE로 설정하면 키 이름이 있는 연관 배열(associative array) 형태로 반환되며, 각 키는 C 함수 localtime()이 반환하는 구조체의 요소들과 대응됩니다.
연관 배열로 반환될 때 사용되는 키 이름은 다음과 같습니다.
[tm_sec] – 초(0~59)
[tm_min] – 분(0~59)
[tm_hour] – 시간(0~23)
[tm_mday] – 월별 날짜(1~31)
[tm_mon] – 월(1월 = 0, 0~11 범위)
[tm_year] – 1900년 이후 경과된 연도 수
[tm_wday] – 요일(일요일 = 0, 0~6 범위)
[tm_yday] – 연중 몇 번째 날인지(0~365)
[tm_isdst] – 서머타임(DST) 적용 여부
반환 값(Return Value)
localtime() 함수는 지정한 유닉스 타임스탬프의 시간 구성 요소들을 포함하는 배열을 반환합니다. 두 번째 인자에 따라 숫자 인덱스 배열 또는 연관 배열로 결과를 받을 수 있습니다.
예제 1 – 기본 사용법
다음은 localtime() 함수를 숫자 인덱스 배열과 연관 배열 두 가지 방식으로 호출하는 예제입니다.
<?php $localtime = localtime(); $localtime_assoc = localtime(time(), true); print_r($localtime); print_r($localtime_assoc); ?>
실행 결과는 아래와 같습니다.
출력 결과
Array ( [0] => 52 [1] => 14 [2] => 5 [3] => 11 [4] => 9 [5] => 118 [6] => 4 [7] => 283 [8] => 0 ) Array ( [tm_sec] => 52 [tm_min] => 14 [tm_hour] => 5 [tm_mday] => 11 [tm_mon] => 9 [tm_year] => 118 [tm_wday] => 4 [tm_yday] => 283 [tm_isdst] => 0 )
위 출력 결과에서 [tm_mon]이 9이므로 10월, [tm_year]가 118이므로 1900 + 118 = 2018년임을 알 수 있습니다. 또한 [tm_wday]가 4이므로 목요일, [tm_yday]가 283이므로 그 해의 284번째 날이라는 뜻입니다.
예제 2 – 현재 로컬 시간 출력하기
다음은 인자 없이 호출하여 현재 시스템의 로컬 시간 정보를 확인하는 예제입니다.
<?php
echo ("The local time is : \n");
print_r(localtime());
?>실행 결과는 아래와 같습니다.
출력 결과
The local time is : Array ( [0] => 35 [1] => 15 [2] => 5 [3] => 11 [4] => 9 [5] => 118 [6] => 4 [7] => 283 [8] => 0 )
정리
localtime() 함수는 타임스탬프 하나만으로 초 단위부터 서머타임 여부까지 상세한 시간 정보를 손쉽게 가져올 수 있는 강력한 도구입니다. 특히 두 번째 인자를 TRUE로 설정하면 키 이름으로 직관적으로 값을 참조할 수 있어 코드 가독성이 크게 향상됩니다.