정의 및 사용 방법
time() 함수는 현재 시점의 날짜와 시간을 유닉스 타임스탬프(Unix Timestamp)로 변환하여 정수(int)로 반환합니다.
현재 시점은 현재 구현되는 PHP 스크립트에 설정된 기본 날짜 시간대(timezone)를 기준으로 합니다.
유닉스 타임스탬프(Unix Timestamp)는 컴퓨터가 시간을 기록하기 위해 사용하는 숫자 형식의 공통 시각 표현 방식으로, 날짜와 시간을 '초(seconds)' 단위로 변환한 정수입니다. 사람이 직접 이 유닉스 타임스탬프 값을 계산하기 어렵기 때문에 PHP에서는 현재 시점의 날짜와 시간을 주로 time() 함수를 이용해 유닉스 타임스탬프로 변환해서 활용합니다.
특징
- 매개변수는 없으며, 이 스크립트에서 설정된 기본 날짜 시간대(timezone)를 기준으로 현재 시점의 날짜와 시간을 유닉스 타임스탬프(Unix Timestamp)로 변환하여 정수(int)로 반환합니다.
- 유닉스 타임스탬프만을 반환하기 때문에 시간대, 요일, 월, 연도 등 다른 정보는 전혀 포함하지 않습니다.
예제
/* time() 함수 기본 사용 예제 */
echo time(); // 현재 시점의 유닉스 타임스탬프를 정수로 출력
/* time() 함수 활용 예제: 읽기 쉬운 날짜/시간으로 변환 */
$current_time = time();
echo date('Y-m-d H:i:s', $current_time); // 현재 시점 기준 날짜와 시간을 'YYYY-MM-DD HH:MM:SS' 형식으로 출력
코드 부연설명
date() 함수는 날짜와 시간을 지정한 형식(포맷, Format)에 맞춰서 문자열로 반환합니다.
위 예제 코드에서 사용된 두 번째 매개변수는 옵션이며, 원하는 시간을 지정하는 유닉스 타임스탬프(Unix Timestamp)입니다. 정수(int)로 지정합니다.
추가 팁!
현재 설정된 기본 날짜 시간대를 확인하고 싶다면 date_default_timezone_get() 함수를 사용해 보세요.
구문
time(): int
매개변수
이 함수는 매개변수가 없습니다.
반환 값
현재 시점의 날짜와 시간을 유닉스 타임스탬프(Unix Timestamp)로 변환하여 정수(int)로 반환합니다.
반환되는 유닉스 타임스탬프(Unix Timestamp)
유닉스 타임스탬프(Unix Timestamp)는 1970년 1월 1일 00:00:00 UTC(협정 세계시)를 기준으로 현재까지 경과한 시간을 초(seconds) 단위로 나타낸 정수입니다.
따라서, 반환되는 값에 특정 시간만큼 초(seconds) 단위로 계산되는 정수를 더하거나 빼서 미래/과거 날짜를 구할 수 있습니다.
한 시간 후 시각 구하기
// 60초 * 60분 = 3600초(1시간)를 더함
$time_next_hour = time() + (60 * 60);
내일 이 시각 구하기
// 60초 * 60분 * 24시간 = 86400초(1일)를 더함
$time_tomorrow = time() + (24 * 60 * 60);
일주일 전 이 시각 구하기
// 60초 * 60분 * 24시간 * 7일 = 604800초(7일)를 뺌
$time_one_week_ago = time() - (7 * 24 * 60 * 60);
활용 예제 정리
지금까지 설명한 time() 함수에 대한 활용 예제를 정리했습니다.
예제들을 직접 실행해 보며 time() 함수를 어디에 어떻게 활용할지 참고해 보세요.
/* time() 함수 기본 사용 예제: 현재 시점 확인 */
echo time(); // 현재 시점의 유닉스 타임스탬프를 정수로 출력
/* 반환값 활용 예제: 읽기 쉬운 날짜/시간과 미래/과거 시각 계산 */
$current_time = time();
// 현재 시점 기준 읽기 쉬운 날짜/시간 출력
echo date('Y-m-d H:i:s', $current_time); // 'YYYY-MM-DD HH:MM:SS' 형식
// 한 시간 후 시각 구하기
$time_next_hour = $current_time + (60 * 60); // 60초 * 60분 = 3600초(1시간)
// 내일 이 시각 구하기
$time_tomorrow = $current_time + (24 * 60 * 60); // 60초 * 60분 * 24시간 = 86400초(1일)
// 일주일 전 이 시각 구하기
$time_one_week_ago = $current_time - (7 * 24 * 60 * 60); // 60초 * 60분 * 24시간 * 7일 = 604800초(7일)