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))." 1년후";
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분 후";
숫자를 반복문을 돌려서 나열할 때, 숫자가 한자리 수 일 경우 앞에 0을 넣는 팁을 설명하려 한다.
예를 들어 1 부터 20까지 for문으로 돌려서 나열할 때
대부분 숫자 변수 값에 ++을 추가해서
1 2 3 4 5 6 7 8 9 10 11 12 13 ... 이런식으로 나열을 하는데
나열했을 때 정렬이 된 것 처럼 이쁘게 보이고 싶을 경우 한자리 숫자 앞에 0을 채워넣기를 하려한다.
이럴때, 다음 소스처럼 sprintf
를 사용하자.
for($i = $fromCount ; $i <= $toCount ; $i++) {
$num = sprintf('%02d',$i);
echo $num."\n";
}
sprintf('%02d', 변수) 했을 경우 두자리수까지를 의미하며 앞에 0으로 채워서 출력된다.
ex) 01 02 03 04 05 06 07 08 09 10 11 12 13 14...
변형해서 6자리수까지 하며 나머지는 0으로 채우고싶다면
sprintf('%06d', 변수) 이런식으로 하면된다