[PHP] 날짜/날짜/시간차 계산

1445 단어 PHP
일수 부분을 고려한 샘플을 찾지 못해 날짜차를 계산하는 함수를 직접 만들었다.
PHP5.3 이후에는 DateTime류diff() 방법(또는 date_diff() 함수)을 이용하여 차분 계산을 할 수 있다.
PHP: DateTime::diff

샘플 코드

PHP <?php $from = strtotime("-3600 second"); // 지금부터 3600초 전(=1시간 전) $to = strtotime("now"); // 지금 일본에 있을 때. echo time_diff($from, $to); // 결과: 0일 01:00 $from = strtotime("2016-01-01"); // 2016년 설날(0시 0분 0초) $to = strtotime("now"); // 지금 일본에 있을 때. echo time_diff($from, $to); // 결과: 32일 12:34:56 $from = strtotime("2016-01-01 06:00:00"); // 2016년 설날 6시. $to = strtotime("2017-01-01 15:00:00"); // 2017년 설날 15시. echo time_diff($from, $to); // 결과: 366일 09:00 //*************************************** // 시간차 계산 //*************************************** function time_diff($time_from, $time_to) { //초수로 시간차 얻기 $dif = $time_to - $time_from; //시간 단위의 차 $dif_time = date("H:i:s", $dif); // 날짜 단위의 차이 $dif_days = (strtotime(date("Y-m-d", $dif)) - strtotime("1970-01-01")) / 86400; return "{$dif_days}days {$dif_time}"; } ?> ~ 보충~ strtotime("now")는time()와 같습니다 간단한 샘플이기 때문에 오류 처리 등을 고려하지 않습니다 $time_from < $time_to의 크기 관계를 바꾸면 계산 결과가 이상하게 변할 수 있으니 주의하세요(감법의 좌우를 바꾸고 음호를 더하면 될 것 같아요) (o / ゞ) 좋다.

좋은 웹페이지 즐겨찾기