// 현재시간에서 몇일 전,후를 알아내기.. 아래는 5일전의 날짜 구하기
$data = date("Y-m-d H:i:s", time()-(60*60*24*5));


// 원하는 날짜의 초수를 알아내기. mktime(시, 분, 초, 월, 일, 년);
$data = mktime(12,0,0,3,22,2008);


// 해당 날짜의 요일 알아내기. mktime(시, 분, 초, 월, 일, 년);
$data = mktime(12,0,0,3,22,2008);
$week_num = date("w",$row[wday]);
$week = array('일', '월', '화', '수', '목', '금', '토');
$day = date("Y-m-d ($week[$week_num]) H:i:s",$data);


PHP 에서 날짜계산 정리
$time = time();
echo date("Y-m-d",strtotime("-1 day", $time))." 하루 전(어제)";
echo date("Y-m-d",strtotime("-1 day", $time))." 하루 전(어제)";
echo date("Y-m-d",strtotime("now", $time))." 현재";
echo date("Y-m-d",strtotime("+1 day", $time))." 하루 후(내일)";
echo date("Y-m-d",strtotime("+1 week", $time))." 일주일 후";
echo date("Y-m-d",strtotime("-1 month", $time))." 한달 전";
echo date("Y-m-d",strtotime("+1 month", $time))." 다음달";
echo date("Y-m-d",strtotime("+6 month", $time))." 6달후";
echo date("Y-m-d",strtotime("+12 month", $time))." 12달후";
echo date("Y-m-d",strtotime("next Thursday", $time))." 다음주 목요일";
echo date("Y-m-d",strtotime("last Monday", $time))." 지난 월요일";
echo date("Y-m-d",strtotime("10 September 2000", $time))." 2000년 9월 10일";
echo strtotime("+5 minutes"); " 현재 시간보다 5분 후";

 

[ 이번달, 지난달, 지난달 1일, 지난달 말일 ]

$d = mktime(0,0,0, date("m"), 1, date("Y")); // 이번달 1일
$prev_month = strtotime("-1 month", $d); // 지난달 (한달전)
date("Y-m-01", $prev_month ); // 지난달 1일
date("Y-m-t", $prev_month ); // 지난달 말일

 

[ 이번주, 지난주, 다음주 ]

$today = time();
$week = date("w");

$week_first = $today-($week*86400);
$week_last = $week_first+(6*86400);

date("Y-m-d",$week_first-(86400*7))." ~ ".date("Y-m-d",$week_last-(86400*7)); // 지난주
date("Y-m-d",$week_first)." ~ ".date("Y-m-d",$week_last); // 이번주
date("Y-m-d",$week_first+(86400*7))." ~ ".date("Y-m-d",$week_last+(86400*7)); // 다음주

반응형