0
이 코드는 테스트 머신에서 예상대로 작동하지만 실전에는 실패합니다. 확실하지 무엇이 설치와 함께 잘못, 유일한 차이는 내가 추측 ICU 버전입니다.PHP IntlDateFormatter :: format은 시간대에 대해 빈 값을 반환합니다.
<?php
$timeZone = 'Asia/Shanghai';
date_default_timezone_set($timeZone);
echo date("c") . "\n";
$formatter = new IntlDateFormatter('en', IntlDateFormatter::NONE, IntlDateFormatter::NONE, $timeZone, NULL, "yyyy-MM-dd'T'HH:mm:ssxxx");
echo $formatter->format(time()) . "\n";
$formatter = new IntlDateFormatter('en', IntlDateFormatter::NONE, IntlDateFormatter::NONE, $timeZone, NULL, "V X x v O Z z");
echo $formatter->format(time()) . "\n";
예상 출력 (테스트 설정, PHP 5.6.25, 국제 버전 1.1.0, ICU 버전 56.1, ICU 데이터 버전 56.1)
2016-09-10T12:42:30+08:00
2016-09-10T12:42:30+08:00
cnsha +08 +08 China Time GMT+8 +0800 GMT+8
실제 출력 (제조, PHP 5.6.25 , 국제 버전 1.1.0, ICU 버전 50.1.2 ICU 데이터 버전 50.1) :
2016-09-10T12:43:22+08:00
2016-09-10T12:43:22
GMT+08:00