날짜와 시간 형식 치트시트
PHP에서 사용하는 날짜와 시간 형식(포맷, Format)을 쉽게 찾아 바로 사용할 수 있도록 깔끔하게 정리한 치트시트(cheat sheet)입니다.
여기에서 제공하는 날짜와 시간 형식은 절차 지향형 함수인 date()와 객체 지향형인 DateTimeInterface::format() 메서드에서 허용하는 형식입니다.
날짜와 시간의 특정 부분의 형식을 상징하는 약속된 문자로 된 기호들을 조합해서 지정합니다. 이 기호들을 일반적으로 "형식(또는, 포맷) 기호"라고 부르며, 대소문자를 엄격히 구분합니다.
아래의 형식 기호를 참고하세요.
자주 사용하는 주요 형식 기호
- PHP 버전
- 4+
연도
| 구분 | 형식 기호 | 출력 예시 | 설명 |
|---|---|---|---|
| 연도 | Y |
2026 |
4자리 연도 |
| 연도 | y |
26 |
2자리 연도 |
월
| 구분 | 형식 기호 | 출력 예시 | 설명 |
|---|---|---|---|
| 월 | M |
Feb |
월에 해당하는 영문 약자(Jan ~ Dec) |
| 월 | m |
02 |
0을 포함한 월(01 ~ 12) |
| 월 | n |
2 |
0을 제외한 월(1 ~ 12) |
일
| 구분 | 형식 기호 | 출력 예시 | 설명 |
|---|---|---|---|
| 일 | d |
07 |
한 자릿수에 0을 포함한 일(01 ~ 31) |
| 일 | j |
7 |
한 자릿수에 0을 제외한 일(1 ~ 31) |
요일
| 구분 | 형식 기호 | 출력 예시 | 설명 |
|---|---|---|---|
| 요일 | 형식 기호는 기본적으로 영문 요일만 지원합니다. | ||
| 요일 | l |
Friday |
영문 요일 전체(Sunday ~ Saturday) |
| 요일 | D |
Fri |
영문 요일 약자(Sun ~ Sat) |
시
| 구분 | 형식 기호 | 출력 예시 | 설명 |
|---|---|---|---|
| 시 | H |
15 |
24시간 형식의 시(00 ~ 23) |
| 시 | h |
03 |
12시간 형식의 시(01 ~ 12) |
분
| 구분 | 형식 기호 | 출력 예시 | 설명 |
|---|---|---|---|
| 분 | i |
25 |
0을 포함한 분(00 ~ 59) |
초
| 구분 | 형식 기호 | 출력 예시 | 설명 |
|---|---|---|---|
| 초 | s |
25 |
0을 포함한 초(00 ~ 59) |
오전/오후
| 구분 | 형식 기호 | 출력 예시 | 설명 |
|---|---|---|---|
| 오전/오후 | A |
AM, PM |
대문자 오전/오후 |
| 오전/오후 | a |
am, pm |
소문자 오전/오후 |
표준 규격 및 웹 전문 형식 기호
- PHP 버전
- 5+
바로 사용하는 출력 예제
예제에서는 절차 지향형 함수인 date()를 사용했습니다.
date() 함수의 구문
date(string $format, ?int $timestamp = null): string
date() 함수의 $format 매개변수에는 형식 기호뿐만 아니라 하이픈(-), 콜론(:), 공백, 그리고 일반 문자열(예: 영어, 한글, 일본어, 한자 등)도 함께 사용할 수 있습니다.
연-월-일 조합 (기본 형식)
연-월-일 조합은 특정 국가나 언어, 문화와 상관없이 가장 널리 쓰이며, 하이픈(-) 또는 슬래시(/) 구분자를 사용한 형식입니다.
echo date('Y-m-d'); // 출력 예시: 2026-02-27
echo date('Y/m/d'); // 출력 예시: 2026/02/27
시:분:초를 포함한 조합
데이터베이스 기록이나 로그 파일처럼 주로 컴퓨터 시스템 등에서 시간을 저장하고 관리할 때 사용하는 24시간제 형식입니다.
echo date('Y-m-d H:i:s'); // 출력 예시: 2026-02-27 18:10:45
한국의 관습에 맞는 형식
형식 기호 사이에 한글을 함께 사용하면 한국의 관습에 맞는 형식으로 날짜와 시간을 출력할 수 있습니다.
echo date('Y년 m월 d일'); // 출력 예시: 2026년 05월 13일
echo date('Y년 m월 d일 H:i'); // 출력 예시: 2026년 05월 13일 18:10
한국의 관습에 맞는 형식 - 오전/오후 조합
date() 함수가 반환하는 영문 오전/오후에 대한 형식 기호(A)를 체크하여 한국어로 교체해 출력하는 방법입니다.
// 시점이 오전(AM)인지 오후(PM)인지 체크합니다.
$ampm = date('A') === 'AM' ? '오전' : '오후';
echo $ampm . date(' h시 i분'); // 출력 예시: 오후 06시 45분
한국의 관습에 맞는 형식 - 요일 조합
date() 함수의 요일 형식 기호(l, D 등)는 영문 요일만 지원합니다. 날짜와 요일을 모두 한국의 관습에 맞게 출력하려면, 날짜 형식 기호 사이에 한글을 넣고 영문 요일을 한글로 교체하여 결합합니다.
// 오늘 요일의 영문 전체 이름(예: Friday)을 가져옵니다.
$english_day = date('l');
// 영문 요일을 한글 요일로 교체하기 위한 배열입니다.
$days = [
'Sunday' => '일요일',
'Monday' => '월요일',
'Tuesday' => '화요일',
'Wednesday' => '수요일',
'Thursday' => '목요일',
'Friday' => '금요일',
'Saturday' => '토요일'
];
// 날짜와 한글로 교체한 요일을 결합하여 출력합니다.
echo date('Y년 m월 d일 ') . $days[$english_day];
// 출력 예시: 2026년 02월 27일 금요일
영문 표기를 포함한 형식
영어 문화권에서 많이 사용하는 형식으로 날짜와 시간을 출력할 수 있습니다.
echo date('F j, Y'); // 출력 예시: February 27, 2026
echo date('M j, Y'); // 출력 예시: Feb 27, 2026
echo date('F j, Y, g:i a'); // 출력 예시: February 27, 2026, 6:10 pm
echo date('M j, Y, H:i:s'); // 출력 예시: Feb 27, 2026, 18:10:45
echo date('g:i a, F j, Y'); // 출력 예시: 6:10 pm, February 27, 2026 (시간을 강조하는 경우)
원하는 특정 날짜와 시간 지정하기
date() 함수의 두 번째 매개변수를 활용하면 현재가 아닌 특정 시점의 날짜와 시간을 출력할 수 있습니다. strtotime() 함수를 이용해 원하는 특정 날짜와 시간을 유닉스 타임스탬프로 변환할 수 있습니다.
$timestamp = strtotime('2012-07-30');
// 매개변수로 전달된 거의 모든 날짜와 시간을 유닉스 타임스탬프로 반환합니다.
echo date('Y-m-d H:i:s', $timestamp);
// 출력 예시: 2012-07-30 00:00:00
형식 기호 내에 일반 알파벳 포함하기
date() 함수의 첫 번째 매개변수 안에 일반 영문자(a, at, s, i 등)를 넣으면 PHP는 이를 형식 기호로 오해하여 의도치 않은 값을 출력합니다. 이때 영문자 앞에 역슬래시(\)를 붙여주면 해당 문자를 있는 그대로 출력할 수 있습니다.
// 'at'의 a와 t가 형식 기호로 해석되지 않도록 역슬래시(\)를 붙입니다.
echo date('Y-m-d \a\t H:i:s'); // 출력 예시: 2026-02-27 at 18:10:45
// 한글이나 숫자, 특수 기호(하이픈, 콤마 등)는 이스케이프가 필요 없습니다.
echo date('Y년 m월 d일 기준'); // 출력 예시: 2026년 02월 27일 기준
같이 보기
- PHP date_default_timezone_set() 함수 – 날짜 기본 시간대 설정하기
- PHP date_default_timezone_get() 함수 – 날짜 기본 시간대 가져오기
- PHP strtotime() 함수 – 영어 기반 날짜와 시간 문자열을 유닉스 타임스탬프로 변환
- PHP time() 함수 – 현재 시점의 날짜와 시간을 유닉스 타임스탬프로 반환
- PHP microtime() 함수 – 현재 시점의 유닉스 타임스탬프를 ‘마이크로초’까지 포함
- PHP mktime() 함수 – 지정한 시점의 날짜와 시간을 유닉스 타임스탬프로 반환
- PHP checkdate() 함수 – 달력상 실제로 존재하는 날짜인지 체크하기
- PHP getdate() 함수 – 유닉스 타임스탬프를 날짜·시간 정보 연관 배열로 변환