본문으로 바로가기

[PHP] 날짜/시간함수 정리

category Helloworld!/PHP 2013. 4. 7. 14:39
//현재 날짜/시간을 포맷(fotmat)에 맞게 date형식으로 출력. 
//(24시간제로 시간을 출력)
date("Y-m-d H:i:s");

//현재 날짜/시간이 출력됨
//예제 : 20070801
date("Ymd")

//현재 날짜/시간을 포맷(fotmat)에 맞게 date형식으로 출력. 
//(12시간제로 시간을 출력)
date("Y-m-d h:i:s");

//현재 시간이 출력됨
date("h:i:s");


//현재 두번째 매개변수을 timestamp형식으로 읽어 
//날짜/시간을 포맷(fotmat)에 맞게
//date형식으로 출력
date("Y-m-d H:i:s",time());

//현재의 날짜인 time형식에서 strtotime에 의해 
//한달을 뺀 time을 date형식으로 변환
date("Y-m-d",strtotime ("-1 months"));

//현재의 날짜인 time형식에서 strtotime에 의해
//하루를 더한 time을 date형식으로 변환
date("Y-m-d",strtotime ("+1 days"));


//현재의 날짜인 time형식에서 strtotime에 의해 
//1년을 더한 time을 date형식으로 변환
date("Y-m-d",strtotime ("+1 years"));

 //현재의 날짜인 time형식에서 strtotime에 의해 
//24시간을 더한 time을 date형식으로 변환
date("Y-m-d",strtotime ("+24 hours"));

//현재의 날짜인 time형식에서 strtotime에 의해 
//1500분을 더한 time을 date형식으로 변환
date("Y-m-d",strtotime ("+1500 minutes"));

//현재의 날짜인 time형식에서 strtotime에 의해 
//1주일을 더한 time을 date형식으로 변환
date("Y-m-d",strtotime ("+1 week"));

//20070819의 날짜를 timestamp형식으로 변환후 1일을 빼고 다시
//timestamp형식으로 변환후 Ymd 형식의 문자열로 출력
//날짜 형식은 -을 넣거나 빼야 한다. 다른 특수문자는 안됨(2007:08:12)
date("Ymd",strtotime ("-1 days", strtotime('20070819')));
date("Ymd",strtotime ("-1 days", strtotime('2007-08-19')));

// 20070819의 날짜를 timestamp형식으로 변환후 1일을 더한후 다시
//timestamp형식으로 변환후 Ymd 형식의 문자열로 출력
date("Ymd",strtotime ("+1 days",  strtotime('20070819')));
date("Ymd",strtotime ("+1 days",  strtotime('2007-08-19')));

 
// ****** date 함수의 2번째 인자는 timestamp 형입니다.
// ****** strtotime 함수의 2번째 인자는 timestamp 형입니다.
date( "Y-m-d\TH:i:s", strtotime('20070101040404') );
//정상적으로 처리안됨
date( "Y-m-d\TH:i:s", strtotime('2007-01-01 04:04:04') );
//정상적으로 처리됨(제트센스 rss에서 사용) 

//현재 날짜/시간에 years months days hours minutes seconds 단위로 더하여
//timestamp형식으로 리턴합니다.(매개변수 없이 사용불가)
$timestamp=strtotime('+1 years +1 months +1 days');

문자형 날짜와 문자형 날짜 사이의 일수 구하기

// 2 출력됨
// 문자형 날짜를 초로 계산하여 뺀다음에 일자로 변환해줌(그나마 가장 정확함)
echo (strtotime('20070803') - strtotime('20070801'))/60/60/24;

//오늘 날짜부터 지정한 일수(day)후의 날짜로 timestamp형식으로 출력하기
function plus_day($day) {
        return mktime(0,0,0,date("m"),date("d")+$day,date("Y"));
}

응용 함수 모음

//한줄로 오늘 날짜 시간 뽑아오기
list($y,$m,$d,$h,$i,$s) = explode(" ",date("Y m d h i s"));