PHP

Php 날짜함수 사용시 주의

개발폐인 2023. 2. 9. 02:25
<?php
$tz = new DateTimeZone("Europe/Zurich");
$dt1 = new Datetime('2019-01-01', $tz);
$dt2 = new Datetime('2019-05-01', $tz);
echo 'EU/ZU : ' . $dt1->diff($dt2)->format('%a') . ' Days' . PHP_EOL;
echo 'EU/ZU : ' . $dt1->diff($dt2)->format('%m') . ' Months' . PHP_EOL . PHP_EOL;

$tz = new DateTimeZone("UTC");
$dt1 = new Datetime('2019-01-01', $tz);
$dt2 = new Datetime('2019-05-01', $tz);
echo 'UTC : ' . $dt1->diff($dt2)->format('%a') . ' Days' . PHP_EOL;
echo 'UTC : ' . $dt1->diff($dt2)->format('%m') . ' Months' . PHP_EOL;

출력결과 

EU/ZU : 120 Days

EU/ZU : 3 Months

 

UTC : 120 Days

UTC : 4 Months

 

 

PHP 8.1 버전에서 fixed 되었습니다.  8.1 에 새로운 날짜 관련 함수가 추가되었는데, 같이 패치된게 아닐까 합니다.

(timezone 에 관련 코드가 패치되었을것으로 예상)

'PHP' 카테고리의 다른 글

Pintura + Filepond + PHP 이미지 멀티 업로드 및 편집  (0) 2023.06.23