php
PHP - date 함수
string date ( string $format [, int $timestamp ] )
(PHP 4, PHP 5)
포맷(format) 문자열에 다음 표의 값으로 대입할 경우 형식화된 현제의 로컬 시간을 반환받거나, 선택적인 timestamp에 대입하여 원하는 날짜나 시간을 얻을 수 있습니다. timestamp 인자가 주어지지 않을 경우 기본 값 time() 을 반환 합니다.
다음 표의 문자들을 format 인수 문자열로 인식합니다.
포맷문자열로 어떤 결과가 나오는지 아래 예제로 확인해 보겠습니다. 먼저 일(Day) 포맷형식입니다.
이번에는 주(Week) 포맷형식입니다.
이제 월(Month) 포맷형식을 보겠습니다.
년(Year) 포맷형식은 아래 예제와 같습니다.
시간(Time) 포맷형식입니다.
시간대(Timezone) 포맷형식입니다.
아래는 날짜/시간(Full date/Time) 포맷형식 예제입니다.
포맷 문자열에 일반 문자를 넣거나 포맷 문자열을 역슬레쉬(\)로 일반 문자로 인식되게 할 수도 있습니다. 다음 예제가 이해에 도움이 되리라 봅니다.
(PHP 4, PHP 5)
포맷(format) 문자열에 다음 표의 값으로 대입할 경우 형식화된 현제의 로컬 시간을 반환받거나, 선택적인 timestamp에 대입하여 원하는 날짜나 시간을 얻을 수 있습니다. timestamp 인자가 주어지지 않을 경우 기본 값 time() 을 반환 합니다.
다음 표의 문자들을 format 인수 문자열로 인식합니다.
일 (Day) | 설 명 | 예 시 |
---|---|---|
d | 일, 앞에 0이 붙는 2 숫자 | 01 ~ 31(일) |
D | 요일 글자 표현, 3 문자 | Mon ~ Sun |
j | 앞에 0이 붙지 않는 일 | 1 ~ 31(일) |
l | 요일의 완전한 글자 표현 | Sunday ~ Saturday |
N | 요일의 ISO-8601 숫자 표현 (PHP 5.1.0에서 추가) | 1(월요일) ~ 7(일요일) |
S | 일 영어 접미사, 2 문자 | st, nd, rd, th. J 형식 |
w | 요일 숫자 표현 | 0(일요일) ~ 6(토요일) |
z | 해당 연도 일차 (0에서 시작) | 0 ~ 365 |
주 (week) | 설 명 | 예 시 |
---|---|---|
W | ISO-8601 주차, 주는 월요일에 시작 | 42; 그 해의 42번째 주 |
월 (Month) | 설 명 | 예 시 |
---|---|---|
F | January나 March 같은 월의 완전한 글자 표현 | January ~ December |
m | 0이 붙는 월 숫자 표현 | 01 ~ 12 |
M | 월의 축약 글자 표현, 3 문자 | Jan ~ Dec |
n | 0이 붙지 않는 월 숫자 표현 | 1 ~ 12 |
t | 주어진 월의 일 수 | 28 ~ 31 |
연 (Year) | 설 명 | 예 시 |
---|---|---|
L | 윤년 여부 | 윤년이면 1, 아니면 0 |
o | ISO-8601 연도. Y와 같지만, ISO 주차(W)가 전해나 다음해에 해당하면, 그 연도를 사용합니다. (PHP 5.1.0에서 추가) |
1999나 2003 |
Y | 연도의 완전한 숫자 표현, 4 숫자 | 1999나 2003 |
y | 연도의 두 숫자 표현 | 99나 03 |
시간 (Time) | 설 명 | 예 시 |
---|---|---|
a | 오전과 오후의 소문자 | am 또는 pm |
A | 오전과 오후의 대문자 | AM 또는 PM |
B | 스와치 인터넷 시간 | 000 ~ 999 |
g | 0이 붙지 않는 12시간 형식 시 | 1 ~ 12 |
G | 0이 붙지 않는 24시간 형식 시 | 0 ~ 23 |
h | 0이 붙는 12시간 형식 시 | 01 ~ 12 |
H | 0이 붙는 24시간 형식 시 | 00 ~ 23 |
i | 0이 붙는 분 | 00 ~ 59 |
s | 초, 0이 붙음 | 00 ~ 59 |
u | 마이크로초 (PHP 5.2.2에서 추가) | 54321 |
시간대 (Timezone) | 설 명 | 예 시 |
---|---|---|
e | 시간대 식별자 (PHP 5.1.0에서 추가) |
UTC, GMT, Atlantic/Azores |
I | 일광 절약 시간 여부 | 일광 절약 시간이면 1, 아니면 0 |
O | 그리니치 시간(GMT)과 시차 | +0200 |
P | 시와 분 사이에 콜론이 들어가는 시간(GMT)과 차이 | +02:00 |
T | 시간대 축약어 | EST, MDT |
Z | 시간대 오프셋 초. UTC 서쪽은 항상 음수, UTC 동쪽은 항상 양수 | -43200 ~ 50400 |
날짜/시간 표현 (Full date/Time) | 설 명 | 예 시 |
---|---|---|
c | ISO 8601 날짜 (PHP 5에서 추가) |
2004-02-12T15:19:21+00:00 |
r | » RFC 2822 형식 날짜 | Thu, 21 Dec 2000 16:01:07 +0200 |
U | January 1 1970 00:00:00 GMT 부터 초수 | timestamp 형식 |
포맷문자열로 어떤 결과가 나오는지 아래 예제로 확인해 보겠습니다. 먼저 일(Day) 포맷형식입니다.
<?php
// 오늘은 2011년 5월 6일 금요일(Friday) 입니다.
// 일, 앞에 0이 붙는 2 숫자
echo date('d'); // 결과: 06
echo "<br />";
// 요일 글자 표현, 3 문자 출력
// Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday
echo date('D'); // 결과: Fri
echo "<br />";
// 앞에 0이 붙지 않는 일
echo date('j'); // 결과: 6
echo "<br />";
// 영문인 요일의 완전한 글자 표현
// Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday
echo date('l'); // 결과: Friday
echo "<br />";
// 요일의 ISO-8601 숫자 표현
// 1->월, 2->화, 3->수, 4->목, 5->금, 6->토, 7->일
echo date('N'); // 결과: 5
echo "<br />";
// 요일 숫자 표현
echo date('w'); // 결과: 5
echo "<br />";
// 365일 중 오늘은 125일째입니다.
echo date('z'); // 결과: 125
?>
이번에는 주(Week) 포맷형식입니다.
<?php
// 오늘은 2011년 5월 6일 금요일(Friday) 입니다.
// 1월 부터 오늘까지 18주가 흘렀습니다.
echo date('W'); // 결과: 18
?>
이제 월(Month) 포맷형식을 보겠습니다.
<?php
// 1월->January, 2월->February, 3월->March, 4월->April, 5월->May, 6월->June
// 7월->July, 8월->August, 9월->September, 10월->October, 11월->November, 12월->December
// 오늘은 2011년 5월 6일 금요일(Friday) 입니다.
// 월의 완전한 글자 표현
echo date('F'); // 결과: May
echo "<br />";
// 0이 붙는 월 숫자 표현
echo date('m'); // 결과: 05
echo "<br />";
// 월의 영문 첫 3문자
echo date('M'); // 결과: May
echo "<br />";
// 0이 붙지 않는 월 숫자 표현
echo date('n'); // 결과: 5
echo "<br />";
// 이 달 마지막 일 수, 5월은 31일까지임
echo date('t'); // 결과: 31
?>
년(Year) 포맷형식은 아래 예제와 같습니다.
<?php
// 오늘은 2011년 5월 6일 금요일(Friday) 입니다.
// 윤년이면 1를, 아니면 0인 값
echo date('L'); // 결과: 0
echo "<br />";
// 연도의 완전한 숫자 표현, 4 숫자
echo date('Y'); // 결과: 2011
echo "<br />";
// 연도의 끝 두 숫자 표현
// o 문자 포맷과 같음
echo date('y'); // 결과: 11
?>
시간(Time) 포맷형식입니다.
<?php
// 오늘은 2011년 5월 6일 금요일(Friday) PM 11시 입니다.
echo date('a'); // 결과: pm
echo "<br />";
echo date('A'); // 결과: PM
echo "<br />";
// 시차없이 24시간을 1000개(비트)로 나눈 시간; 스위스기준: 자정은 '@0', 정오는 '@500' 비트시로 표시
echo date('B'); // 결과: 660
echo "<br />";
// 0이 붙지 않는 12시간 형식 시
echo date('g'); // 결과: 11
echo "<br />";
// 0이 붙지 않는 24시간 형식 시
echo date('G'); // 결과: 23
echo "<br />";
// 0이 붙는 12시간 형식 시
echo date('h'); // 결과: 11
echo "<br />";
// 0이 붙는 24시간 형식 시
echo date('H'); // 결과: 23
echo "<br />";
// 0이 붙는 분, 현제 시각 23시 50분 입니다.
echo date('i'); // 결과: 50
echo "<br />";
// 초, 0이 붙음, 현제 시각 23시 50분 1초 입니다.
echo date('s'); // 결과: 01
echo "<br />";
// 마이크로 초입니다.
echo date('u'); // 결과: 000000
?>
시간대(Timezone) 포맷형식입니다.
<?php
echo date('e'); // 결과: Asia/Tokyo
?>
아래는 날짜/시간(Full date/Time) 포맷형식 예제입니다.
<?php
// 형식: 요일. 일 월 년 시:분:초+GMT
echo date('r'); // 결과: Sat, 14 May 2011 00:04:52 +0900
// 형식: 년-월-일 시:분:초+GMT
echo date('c'); // 결과: 2011-05-14T00:08:40+09:00
// 1970년 1월 1일로부터 2011년 5월 14일까지 1305299536초가 경과된 시간
echo date('U'); // 결과: 1305299536
?>
포맷 문자열에 일반 문자를 넣거나 포맷 문자열을 역슬레쉬(\)로 일반 문자로 인식되게 할 수도 있습니다. 다음 예제가 이해에 도움이 되리라 봅니다.
<?php
echo date("Y-m-d"); // 결과: 2011-05-14
echo "<br />";
echo date('H:i:m'); // 결과: 00:22:05
echo "<br />";
echo date('현제 시각은 H시 i분 m초',time()); // 결과: 현제 시각은 00시 22 분 05초
echo "<br />";
echo date('오늘은 y년 m월 d일 입니다. \Y-\m'); // 결과: 오늘은 11년 05월 14일 입니다. \Y-\m
?>
0 댓글