Forum und email

date

(PHP 4, PHP 5)

date — 로컬 날짜/시간을 형식화합니다.

설명

string date ( string $format [, int $ timestamp ] )

정수형으로 주어지는 timestamp 나, timestamp가 주어지지 않았을 경우에는 현재 로컬 시간을 사용하여, 주어진 포맷 문자열에 따라 형식화한 문자열을 반환합니다. 즉 timestamp 는 선택적이고, 기본값은 time()의 값입니다.

Note: 전형적인 timestamp의 유효 범위는 1901년 12월 13일 금요일 20:45:54 GMT부터 2038년 1월 19일 화요일 03:14:07 GMT입니다. (이것은 부호 있는 32비트 정수형의 최소와 최대값에 대응합니다. 윈도우즈에서는 이 값은 1970-01-01부터 2038-01-19로 제한됩니다)

Note: 날짜를 표시하는 문자열로부터 timestamp를 생성하기 위해서, strtotime()을 사용할 수 있습니다. 또한, 몇몇 데이터베이스는 각자의 날짜 형식으로에서 timestamp로 변환하는 함수를 가지고 있습니다. (예: MySQL의 UNIX_TIMESTAMP 함수)

다음 문자들은 format 인자 문자열로 인식합니다.
format 문자 설명 반환값 예
a 오전과 오후, 소문자 am, pm
A 오전과 오후, 대문자 AM, PM
B 스왓치 인터넷 시간 000부터 999
c ISO 8601 날짜 (PHP 5에서 추가) 2004-02-12T15:19:21+00:00
d 일, 앞에 0이 붙는 2자리 01부터 31
D 요일, 3글자 문자 Mon부터 Sun
F 월, January, March 등의 완전한 문자 표현 January부터 December
g 시, 0이 붙지 않는 12시간 형식 1부터 12
G 시, 0이 붙지 않는 24시간 형식 0부터 23
h 시, 0이 붙는 12시간 형식 01부터 12
H 시, 0이 붙는 24시간 형식 00부터 23
i 분, 0이 붙는 형식 00부터 59
I (대문자 i) 일광 절약 시간 여부 일광 절약 시간이면 1, 아니면 0
j 일, 0이 붙지 않는 형식 1부터 31
l (소문자 'L') 요일, 완전한 문자 표현 Sunday부터 Saturday
L 윤년인지 여부 윤년이면 1, 아니면 0
m 월, 숫자 표현, 0이 붙는 형식 01부터 12
M 월, 짧은 문자 표현, 3문자 Jan부터 Dec
n 월, 숫자 표현, 0이 붙지 않는 형식 1부터 12
O 그리니치 시간(GMT)과의 차이 예: +0200
r » RFC 2822 형식 날짜 예: Thu, 21 Dec 2000 16:01:07 +0200
s 초, 0이 붙는 형식 00 부터 59
S 일 표현을 위한 영어 서수 접미어, 2문자 st, nd, rdth. j와 잘 작동합니다.
t 주어진 월의 일수 28부터 31
T 이 기계의 표준 시간대 설정 예: EST, MDT ...
U 유닉스 Epoch(January 1 1970 00:00:00 GMT)로부터의 초 time() 참고
w 요일, 숫자형 0(일요일)부터 6(토요일)
W ISO-8601 연도의 주차, 주는 월요일에 시작 (PHP 4.1.0에서 추가) 예: 42 (연도의 42번째 주)
Y 연도, 4 자리수 표현 예: 1999, 2003
y 연도, 2 자리수 표현 예: 99, 03
z 연도의 일차 (0부터 시작) 0부터 365
Z 표준 시간대의 오프셋 초. UTC로부터 서쪽의 오프셋은 항상 음수이고, UTC로부터 동쪽의 오프셋은 항상 양수. -43200부터 43200

format 문자열로 인식되지 않는 문자는 그대로 출력합니다. Z 형식은 gmdate()를 이용할 때는 항상 0을 반환합니다.

Example#1 date() 예제코드

<?php
// 다음의 출력: Wednesday
echo date("l");

// 다음의 출력: Wednesday 15th of January 2003 05:51:38 AM
echo date("l dS of F Y h:i:s A");

// 출력: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " date("l"mktime(000712000));
?>

format 문자열로 인식하는 문자 바로 앞에 백슬래쉬를 붙여서 이스케이프를 함으로써, 인식하는 것 막을 수 있습니다. 백슬래쉬가 붙는 문자가 이미 특별한 의미를 가지고 있다면, 백슬래쉬를 이스케이프해야 합니다.

Example#2 date()의 회피 문자

<?php
// 다음의 출력: Wednesday the 15th
echo date("l \\t\h\e jS");
?>

date()mktime()을 함께 사용함으로써 미래나 과거의 시간을 얻을 수 있습니다.

Example#3 date()mktime() 예제코드

<?php
$tomorrow  
mktime (0,0,0,date("m")  , date("d")+1date("Y"));
$lastmonth mktime (0,0,0,date("m")-1date("d"),   date("Y"));
$nextyear  mktime (0,0,0,date("m"),   date("d"),   date("Y")+1);
?>

Note: 이는 일광 절약 시간을 고려하기 때문에, 단순히 timestamp에 하루나 한달에 해당하는 초를 더하는 것보다 신뢰할 수 있습니다.

date() 형식화의 몇몇 예제. 모든 다른 문자들도 이스케이프 해야함에 주의하십시오. 현재 특별한 의미를 가진 어떤 것이 바람직하지 못한 결과를 가져올 수 있고, 앞으로의 PHP 버전에서는 다른 문자들도 지정될 수가 있습니다. 이스케이프 할 때는, \n이 줄바꿈으로 인식 되는 것과 같은 예을 피하기 위해서는 작은 따옴표를 사용해야만 합니다.

Example#4 date() 형식화

<?php
// Assuming today is: March 10th, 2001, 5:16:18 pm

$today date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$today date("m.d.y");                         // 03.10.01
$today date("j, n, Y");                       // 10, 3, 2001
$today date("Ymd");                           // 20010310
$today date('h-i-s, j-m-y, it is w Day z ');  // 05-16-17, 10-03-01, 1631 1618 6 Fripm01
$today date('\i\t \i\s \t\h\e jS \d\a\y.');   // It is the 10th day.
$today date("D M j G:i:s T Y");               // Sat Mar 10 15:16:08 MST 2001
$today date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:17 m is month
$today date("H:i:s");                         // 17:16:17
?>

다른 언어로 날짜를 형식화 하기 위해서는, setlocale()strftime() 함수를 사용해야 합니다.

참고: getlastmod(), gmdate(), mktime(), strftime(), time().