0
このコードは、テストマシンでは正常に動作しますが、実稼働環境では失敗します。何がセットアップに間違っているかわからない、唯一の違いは私が推測するICUのバージョンです。PHP IntlDateFormatter :: formatは、タイムゾーンの空の値を返します
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:出力(テスト・セットアップ、PHP 5.6.25、インターナショナルバージョン1.1.0、ICUバージョン56.1、ICUデータバージョン56.1)期待
<?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";
、インターナショナルバージョン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