티스토리 뷰


* PHP에서 사용하고 있는 날짜 포매팅의 방식은 다음과 같다.


  • string date(string $format [,int $timestamp = time()] )


: 첫번째 $format 인자는 날짜를 나타낼 포맷을 설정하는 인자이다.

: 여기서 두번째 인자 $timestamp를 입력하지 않으면 현재 날짜 기준으로 time() 함수의 값을 입력한 것이 기본으로 들어가며, 아닌 경우에는 해당하는 시간에 대시간을 리턴한다.

: 그래서 결과적으로 $timestamp의 시간을 $format으로 포매팅한 결과를 스트링으로 리턴하게 된다.


* format 인자

: format에서 이용하는 인자는 아래와 같다.


- '년'과 관련된 문자

format 문자 

설명 

예 

 Y 4자리 숫자로 표시 

1999나 2003 

 y 2자리 숫자로 표시 

99나 03 

 o

ISO-8601에 맞는 포맷으로 표시 (Y랑 같으나, ISO 규격에 맞는 W가 포함한 년을 사용) 

1999나 2003 
 L 윤년 여부  윤년이면 1 아니면 0 



- '월'과 관련된 문자

format 문자 

설명 

예 

 F

 달을 영어로 표시 

 January ~ December 
 M

 3자리의 짧은 영어로 표시 

 Jan ~ Dec

 m

 0을 앞에 붙인 2자리 숫자  

 01 ~ 12  

 n

 월을 숫자로 표시 

 1 ~ 12 

 t

 해당하는 달의 일 수를 표시

 28, 29, 30, 31 



- '일'과 관련된 문자 

format 문자 

 설명

 예

 d  0을 앞에 붙인 2자리 숫자  01 ~ 31 

 j

 일을 숫자로 표시

 1 ~ 31 

 z

 1년의 n번째 날 

 0 ~ 365 

 S

 날짜 뒤에 영어 2글자 suffix 추가 

 st, nd, rd or th (j와 잘 연동됨) 예: 1st, 2nd, 3rd, 4th 



- '요일'과 관련된 문자

format 문자 

설명 

예 

 D  요일을 영어 3글자로 표시   Mon ~ Sun 
 l (소문자 'L')

 요일을 영어 단어로 표시

 Monday ~ Sunday 

 N

 ISO-8601에 맞는 표시(PHP 5.1 이후) 

 1 (월요일) ~ 7 (일요일) 

 w  요일을 숫자로 표시 

 0 (일요일) ~ 6 (토요일)



- '주'와 관련된 문자

format 문자 

설명 

예 

 W

 ISO-8601 에 맞는 1년의 n번째 주, 월요일에 한 주가 시작 (PHP 4.1 이후) 

 42 (1년의 42번째 주) 



- '시간'과 관련된 문자

format 문자 

설명 

예 

 H  시간을 24시간 기준 0을 채운 2자리 숫자로 표시   00 ~ 23 
 G

 시간을 24시간 기준 숫자로 표시 

 0 ~ 23 

 h

 시간을 12시간 기준 0을 채운 2자리 숫자로 표시 

 01 ~ 12 

 g   시간을 12시간 기준 숫자로 표시   1 ~ 12 
 a

 소문자 오전, 오후 

 am, pm 
 A  대문자 오전, 오후   AM, PM 

 i

 분을 0을 앞에 붙인 2자리 숫자로 표시   00 ~ 59 
 s

 초를 0을 앞에 붙인 2자리 숫자로 표시 

 00 ~ 59 

 u

 밀리초를 표시 (date()를 항상 000000을 리턴, DateTime::format()은 밀리초를 지원, PHP 5.2.2 이상)

 예: 654321

 B

 Swatch Internet Time (하루를 1000으로 나눔)   000 ~ 999 



- '타임존'과 관련된 문자

 format 문자

설명 

예 

 e   타임존 ID (PHP 5.1.0 이상)  예: UTC, GMC, Atlantic/Azores 
I (대문자 i) 

 섬머타임 여부 

 섬머타임이면 1 아니면 0 
 O  Greenwich time(GMT)와 다른 시간   예: +0200 
 P GMT와 다른 시간에 :를 추가 (PHP 5.1.3 이상) 

 예: +02:00 

 T  타임존 약자 

 예: EST, MDT 

 Z

GMT와의 차이를 초로 표시, UTC 서쪽은 음수, 동쪽은 양수 

 -43200 ~ 50400 



- 전체 양식

format 문자 

설명 

예 

 c  ISO-8601 기준의 날짜 표시 (PHP 5 이상)   2004-02-12T15:19:21+00:00
 r  RFC 2822 기준 포맷   Thu, 21 Dec 2000 16:01:07 +0200 
 U

 Unix Epoch (January 1 1970 00:00:00 GMT) 로부터의 초 

 time() 참고 



: 인식하지 못하는 문자는 문자 그대로 표시해준다.


* 예


<?php
// set the default timezone to use. Available since PHP 5.1
date_default_timezone_set('UTC');

// Prints something like: Monday
echo date("l");

// Prints something like: Monday 8th of August 2005 03:12:46 PM
echo date('l jS \of F Y h:i:s A');

// Prints: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));

/* use the constants in the format parameter */
// prints something like: Mon, 15 Aug 2005 15:12:46 UTC
echo date(DATE_RFC822);

// prints something like: 2000-07-01T00:00:00+00:00
echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));

// prints something like: Wednesday the 15th
echo date('l \t\h\e jS');

$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);

//To find last sunday for given date: last sunday : 2012-09-30
         $day = '2012-10-04';
         echo 'last sunday :  '.date("Y-m-d",strtotime($day." last Sunday "));
?>


끝.


공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함