Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP time() 함수 완벽 가이드 - 현재 시간을 유닉스 타임스탬프로 변환하기

PHP의 time() 함수는 현재 시간을 유닉스 타임스탬프(Unix Timestamp) 형태로 반환하는 내장 함수입니다. 유닉스 타임스탬프란 유닉스 에포크(Unix Epoch), 즉 1970년 1월 1일 00:00:00 GMT를 기준점으로 삼아 그때부터 현재까지 경과된 시간을 초 단위로 측정한 값입니다.

이 방식은 시간대(Timezone)와 무관하게 전 세계 어디서나 동일한 숫자로 시간을 표현할 수 있어, 데이터베이스 저장이나 날짜 계산 등에 널리 활용됩니다.

문법(Syntax)

time()

매개변수(Parameters)

time() 함수는 별도의 매개변수를 받지 않습니다.

반환 값(Return)

유닉스 에포크(1970년 1월 1일 00:00:00 GMT)부터 현재까지의 경과 시간을 초 단위의 정수(integer)로 반환합니다.

예제 1: 일주일 후의 날짜 구하기

다음 예제는 현재 시각에 일주일치 초(7 × 24 × 60 × 60 = 604,800초)를 더해 다음 주의 날짜를 출력합니다.

<?php
   $nextWeek = time() + (7 * 24 * 60 * 60);
   echo 'Now: '. date('Y-m-d') ."\n";
   echo 'Next Week: '. date('Y-m-d', $nextWeek) ."\n";
?>

실행 결과

Now: 2018-10-11
Next Week: 2018-10-18

time()으로 얻은 타임스탬프에 604,800초를 더한 뒤 date() 함수에 두 번째 인자로 전달하면, 원하는 날짜 형식(Y-m-d)으로 손쉽게 변환할 수 있습니다.

예제 2: 타임스탬프를 날짜 형식으로 변환하기

이번에는 time() 함수가 반환하는 원본 타임스탬프 값을 그대로 확인하고, 이를 다시 사람이 읽기 좋은 날짜 형식으로 바꿔보겠습니다.

<?php
   $res = time();
   echo($res . "<br>");
   echo(date("Y-m-d", $res));
?>

실행 결과

1539245504
2018-10-11

첫 번째 줄의 1539245504가 time() 함수가 반환한 원시 타임스탬프 값이며, 두 번째 줄에서 date() 함수를 통해 '연-월-일' 형식으로 변환된 결과를 볼 수 있습니다.

함께 알아두면 좋은 관련 함수

  • date(): 타임스탬프를 지정한 형식의 문자열로 변환합니다.
  • strtotime(): 날짜/시간 문자열을 타임스탬프로 변환합니다.
  • microtime(): 마이크로초 단위까지 포함된 더 정밀한 현재 시간 값을 반환합니다.
  • mktime(): 지정한 날짜와 시간에 해당하는 타임스탬프를 생성합니다.

이처럼 time() 함수는 PHP에서 시간 정보를 다루는 가장 기본적인 출발점이며, date(), strtotime() 등의 함수와 조합하면 대부분의 날짜·시간 처리 작업을 간편하게 해결할 수 있습니다.