[php] 날짜계산 : date(), strtotime()
60일 전 날짜 구하기
date('Y-m-d', strtotime("-60 days'));
* 날짜 비교 소스
$half_date = date('Y-m-d', strtotime('-180 days')); // 6개월 전 일자
$year_date = date('Y-m-d', strtotime('-365 days')); // 1년 전 일자
if($row[supply_ratio_date] > $half_date){
echo "<font color='#696969'>".$row[supply_ratio_date]."</font>";
}else if($row[supply_ratio_date] > $year_date) {
echo "<font color='#696969'>".$row[supply_ratio_date]."</font>";
}else{
echo "<font color='red'>".$row[supply_ratio_date]."</font>";
}
==========================================================================================================================
date()
- year
* Y : 2004, 2008, 20013
* y : 07, 13
- month
* F : 월의 완전한 영문 ( December)
* m : (01, 02, 03)
* M : 영문 3글자 ( Feb, Dec)
* n : (1, 2, 12)
* t : 주어진 월의 총 일수 (28, 31) ex) date("t")
- day
* d : (01, 02, 30)
* D : 요일 영문 3글자 ( Mon, Sun)
* j : ( 1, 2, 23)
* l : 요일의 영문 ( Monday)
* N : 요일을 숫자로 표시 ( 1-월요일, 7- 일요일)
* w : 요일을 숫자로 표시 ( 0-일요일, 1- 월요일 )
* n : 해당 연도의 일차를 나타냄 170일 ex)date("z");
- week
* W : 몇 주차를 숫자로 나타냄 ex) date("W"); 52주차
- time
* a : 오전과 오후의 소문자 ( am ,pm)
* A : 오전과 오후의 대문자 (AM, PM)
* g: 0이 붙지않는 12시간을 숫자로 ( 1, 2, 12)
* G : 0이 붙지않는 24시간을 숫자로 (1, 2, 23)
* h : 0이 붙는 12시간을 숫자로 (01, 02, 12)
* H : 0이 붙는 24시간을 숫자로 ( 01, 02, 23)
* i : 0이 붙는 분 ( 00, 01, 23)
* s : 0이 붙는 초 ( 00, 01, 59)
* u : 마이크로초 1초의 표현을 5자리로 표현함
strtotime()
date ('Y. m.d' , strtotime("+1 month") ); //현재 날짜에서 한달 뒤 날짜
date ('Y. m.d' , strtotime("last Monday") ); //현재 날짜에서 마지막 월요일이였던 날짜
date ('Y. m.d' , strtotime("next Monday") ); //현재 날짜에서 다음 월요일 날짜
==================================================================================
$cur_date = date("Y-m-d H:i:s");
echo $cur_date;
결과 : 2018-01-29 17:10:34
$cur_date = date("Y년 m월 d이 h시i분");
echo $cur_date;
결과 : 2017년 01월 29일 17시10분
날짜계산
$yesterday = date("Y-m-d", strtotime("-1 day"));
$today = date("Y-m-d");
현재일시
$today = date("Y-n-j G:i:s", time());
2018-1-29 17:10:34 형식으로 0이 붙지않고 출력됨
어제날짜
$yesterday = date("Y-m-d", (time()-86400));
$cur_year = date("Y");
$cur_month = date("m");
$cur_day = date("d");
1일전
$yesterday = date("Y", (time()-604800))."-".date("m", (time()-604800))."-".date("d", (time()-604800));
1일전
$yesterday = date("Y-m-d", (time()-86400*1));
14일전
$yesterday = date("Y-m-d", (time()-86400*14));
1일전 일시
$yesterday = date("Y-m-d H:i:s", (time()-86400*1));
하루전 일자의 대하여 실행
$nowdate33 = explode("-", date("Y-m-d"));
$nowdate33 = explode("-", date("Y-m-d", strtotime("-1 day"), mktime(0,0,0,$nowdate33[1],$nowdate33[2],$nowdate33[0])));