PHP 날짜/시간 정리

by 조쉬 posted Mar 07, 2017
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

날짜/시간 함수 모음

 

time()

 

date("Y-m-d H:i:s");

//현재 날짜/시간을 포맷(fotmat)에 맞게 date형식으로 출력합니다.

(24시간제로 시간을 출력)

 

date("Ymd")

//현재 날짜/시간이 출력됨

//예제 : 20070801

 

date("Y-m-d h:i:s");

//현재 날짜/시간을 포맷(fotmat)에 맞게 date형식으로 출력합니다.

(12시간제로 시간을 출력)

 

date("h:i:s");

-- 현재 시간이 출력됨

 

date("Y-m-d H:i:s",time());

//현재 두번째 매개변수을 timestamp형식으로 읽어 날짜/시간을 포맷(fotmat)에 맞게

//date형식으로 출력합니다.

 

date("Y-m-d",strtotime ("-1 months"));

//현재의 날짜인 time형식에서 strtotime에 의해 한달을 뺀 time을 date형식으로 변환

 

date("Y-m-d",strtotime ("+1 days"));

//현재의 날짜인 time형식에서 strtotime에 의해 하루를 더한 time을 date형식으로 변환

 

date("Y-m-d",strtotime ("+1 years"));

//현재의 날짜인 time형식에서 strtotime에 의해 1년을 더한 time을 date형식으로 변환

 

date("Y-m-d",strtotime ("+24 hours"));

//현재의 날짜인 time형식에서 strtotime에 의해 24시간을 더한 time을 date형식으로 변환

 

date("Y-m-d",strtotime ("+1500 minutes"));

//현재의 날짜인 time형식에서 strtotime에 의해 1500분을 더한 time을 date형식으로 변환

 

date("Y-m-d",strtotime ("+1 week"));

//현재의 날짜인 time형식에서 strtotime에 의해 1주일을 더한 time을 date형식으로 변환

 

date("Ymd",strtotime ("-1 days", strtotime('20070819')));

date("Ymd",strtotime ("-1 days", strtotime('2007-08-19')));

// 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 함수의 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에서 사용)

 

$timestamp=strtotime('+1 years +1 months +1 days');

//현재 날짜/시간에 years months days hours minutes seconds 단위로 더하여

//timestamp형식으로 리턴합니다.(매개변수 없이 사용불가)

 

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

 

<?

echo (strtotime('20070803') - strtotime('20070801'))/60/60/24;

?>

# 2 출력됨

# 문자형 날짜를 초로 계산하여 뺀다음에 일자로 변환해줌(그나마 가장 정확함)

 

응용 함수 모음

 

//오늘 날짜부터 지정한 일수(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"))

?>