상세 컨텐츠

본문 제목

PHP 시간관련 함수 정리 date() strtotime() time() mktime() date_diff()

IT공부방/PHP

by 동해둘리 2023. 8. 3. 01:12

본문

반응형

 

 

오늘은 PHP에서 자주 사용되는 시간 관련 함수 다섯 가지에 대해 소개해드리겠습니다. 

 

함수소개에 앞서, 먼저 timestamp에 대해 알아볼께요

 

TIMESTAMP는 1970년 01월 01일 00시 00분 00초로부터 현재까지 몇 초가 지났는지를 정수로 반환한 값입니다. 이 값을 이용하여  더하기/빼기 등의 간단한 연산으로 두 날짜의 차이를 구하거나, 현재 날짜로 부터 몇일 후 날짜값을 얻거나 할때 유용하게 사용할 수 있습니다. 

 

 


1. date() 함수


date() 함수는 현재 날짜와 시간을 원하는 형식으로 포맷하여 출력하는 함수입니다. 주로 로그 작성, 화면에 날짜 표시 등에 사용됩니다. date함수의 괄호안의 문자는 Ymd 를 제외한 나머지 문자는 자유롭게 입력하면 그 형식대로 표시됩니다. 

1
2
3
$today = date("Y년 m월 d일");
echo "오늘은 " . $today . "입니다.";
 
cs

 


2. strtotime() 함수


strtotime() 함수는 사람이 이해하기 쉬운 형태의 날짜 및 시간 문자열을 타임스탬프로 변환해줍니다. 이는 날짜를 계산하거나 비교할 때 특히 유용합니다. +1 months 또는 +3 days , +1 years 등의 옵션을 사용할 수 있습니다. 

1
2
3
$nextWeek = strtotime("+1 week");
echo "다음 주에는 " . date("Y년 m월 d일", $nextWeek) . "입니다.";
 
cs

 

 



3. time() 함수


time() 함수는 현재 시간의 타임스탬프를 반환합니다. 이를 활용하여 특정 시간과 비교하거나 경과 시간을 계산하는데 유용합니다. 이때의 currentTime 값은 TimeStamp 값입니다. 

 

1
2
3
$currentTime = time();
echo "현재 시간의 타임스탬프: " . $currentTime;
 
cs

 

 



4. mktime() 함수


mktime() 함수는 주어진 시간 정보를 기반으로 타임스탬프를 생성합니다. 특정 날짜와 시간의 타임스탬프를 얻을 때 사용합니다. 함수의 괄호안은  mktime([시간], [분], [초], [월], [일], [연도])  형식으로 사용하실 수 있습니다. 

1
2
3
$timestamp = mktime(12, 30, 0, 8, 3, 2023);
echo "지정한 날짜와 시간의 타임스탬프: " . $timestamp;
 
cs

 

 



5. date_diff() 함수


date_diff() 함수는 두 날짜 사이의 차이를 계산하여 날짜 간격을 반환합니다. 이를 통해 이전 날짜와 현재 날짜 사이의 일수를 구할 수 있습니다. timestamp 는 정수이기 때문에 두 날짜의 차이를 구하는 것은 더하기 빼기로도 가능한데요, date_diff 함수는 timestamp 값을 더하거나 뺀 후에 이를 다시 날짜로 변환시켜주는 함수 입니다. 

1
2
3
4
5
$pastDate = new DateTime('2023-07-01');
$currentDate = new DateTime();
$interval = date_diff($pastDate, $currentDate);
echo "과거로부터 " . $interval->format('%a') . "일이 지났습니다.";
 

cs

반응형

관련글 더보기

댓글 영역