티스토리 뷰

코딩/PHP

PHP (date)

Raichu 2009.04.06 21:39
date

string date ( string format [, int timestamp])

원하는 포맷으로 타임스탬프의 값에 맞게 변형하여, 문자열로 값을 반환해 준다.
만일 타임스탬프를 입력하지 않으면, 현재의 타임스탬프 값을 돌려준다.

    Note.
        - 타임스탬프는 1901년 12월 13일 금요일 20:45:54 (GMT) 에 만들어졌다.
        - 유효한 날짜/시간은 2038 년 1 월 19 일 화요일 03:14:07 (GMT)
        - 1970년 01월 01일에서 2038년 01월 19일까지 32비트 정수형 값 사용.

날짜의 문자열값에서 타임스탬프를 만들어 내기 위해 strtotime()을 사용할 수 있을 지도 모른다. 추가로 몇몇의 데이터베이스는 날짜 포맷을 MySQL의 UNIX TIMESTAMP와 같이 타임스탬프로 바꾸기 위해 사용하기도 한다.

인자 설명 돌려주는값
a 오전?오후 am 또는 pm
A 오전?오후 AM 또는 PM
I 낮?밤 낮이면 1, 아니면 0
Y 예: 1999 또는 2003
y 예: 99 또는 03
F January ~ December
L 윤달이면 1, 아니면 0
m 01 ~ 12
n 1 ~ 12
M Jan ~ Dec
d 날짜 01 to 31
j 날짜 1 to 31
D 날짜 Mon ~ Sun
g 시간 1 ~ 12
G 시간 0 ~ 23
h 시간 01 ~ 12
H 시간 00 ~ 23
i 00 ~ 59
s 00 ~ 59
l 요일 Sunday ~ Saturday
w 요일 0(일요일) ~ 6 (토요일)
U 1970년 09:00부터 세어진 초의 수 time()값과 동일
W 년도의 몇번째주 예: 42
z 년도의 몇번째 날인지 0 ~ 366
t 그달이 가지고 있는 날 28 ~ 31
B 인터넷 견본 시간 000 ~ 999
O 그리니치 표준시(GMT)에 대한 시간 차이 예: +0200
r RFC 822 문서의 포맷 날짜 예: Thu, 21 Dec 2000 16:01:07 +0200
S 영어에서 날을 셀때 사용하는 접미사 1st, 2nd, 3rd or 4th
T 타임존 셋팅값 예: EST, MDT ...
Z UTC기준으로 서쪽은 -(negative), 동쪽은 +(positive) -43200 ~ 43200

format 문자열로 인식되지 않는 문자는 그대로 출력합니다. Z 형식은 gmdate()를 이용할 때는 항상 0을 반환합니다.
예 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(0, 0, 0, 7, 1, 2000
));
?>

format 문자열로 인식하는 문자 바로 앞에 백슬래쉬를 붙여서 이스케이프를 함으로써, 인식하는 것 막을 수 있습니다. 백슬래쉬가 붙는 문자가 이미 특별한 의미를 가지고 있다면, 백슬래쉬를 이스케이프해야 합니다.
예 2. date()의 회피 문자
<?php
// 다음의 출력: Wednesday the 15th
echo date("l \\t\h\e jS"
);
?>

date()와 mktime()을 함께 사용함으로써 미래나 과거의 시간을 얻을 수 있습니다.
예 3. date() 와 mktime() 예제코드
<?php
$tomorrow  
= mktime (0,0,0,date("m")  , date("d")+1, date("Y"
));
$lastmonth = mktime (0,0,0,date("m")-1, date("d"),  date("Y"
));
$nextyear  = mktime (0,0,0,date("m"),  date("d"),  date("Y")+1
);
?>


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


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

http://kr.php.net/manual/kr/function.date.php

http://kr.php.net/manual/en/function.date.php 


 

'코딩 > PHP' 카테고리의 다른 글

배열의 빈 원소를 제거  (0) 2009.06.29
PHP Class - Snoopy v1.2.4  (0) 2009.06.25
register_globals = Off 상태에서 폼값 넘기기  (0) 2009.05.25
현재, 어제, 내일 날짜 구하기  (0) 2009.05.23
문자열 자르기  (0) 2009.04.07
PHP (date)  (0) 2009.04.06
댓글
댓글쓰기 폼