时区格式在某些时区不返回缩写

时间:2019-06-17 07:20:56

标签: php timezone php-carbon

对于日期格式化程序T为何不总是返回时区缩写的原因,我有些困惑。

以下代码Carbon::now()->timezone('Europe/London')->format('T')返回'BST',Carbon::now()->timezone('Europe/Stockholm')->format('T')返回'CEST',但是Carbon::now()->timezone('Asia/Bangkok')->format('T')返回'+07',这对于调度系统的用户而言相当混乱正在建造。

我希望T始终返回时区的“非数字”指示,是否有办法实现这一目标而不必求助于写出“ Asia / Bangkok”?

1 个答案:

答案 0 :(得分:0)

它应该返回“ ICT”。这是PHP的一个已知错误:https://bugs.php.net/bug.php?id=74835

如果没有Carbon,您将得到相同的结果:

$date = new DateTime('now', new DateTimeZone('Asia/Bangkok'));
echo $date->format('T');