时区格式不返回某些时区的缩写
Timezone formatting not returning abbreviation on certain timezones
我有点困惑为什么日期格式化程序 T
并不总是 return 时区缩写。
下面的代码Carbon::now()->timezone('Europe/London')->format('T')
returns'BST',Carbon::now()->timezone('Europe/Stockholm')->format('T')
returns'CEST',但是Carbon::now()->timezone('Asia/Bangkok')->format('T')
returns '+07',这对我正在构建的调度系统的用户来说相当混乱。
我希望 T
总是 return 时区的 'non-numeric' 指示,有没有办法实现这一点而不必诉诸写出 'Asia/Bangkok' ?
应该return"ICT"。这是 PHP 的已知错误:https://bugs.php.net/bug.php?id=74835
不使用 Carbon 也会得到相同的结果:
$date = new DateTime('now', new DateTimeZone('Asia/Bangkok'));
echo $date->format('T');
我有点困惑为什么日期格式化程序 T
并不总是 return 时区缩写。
下面的代码Carbon::now()->timezone('Europe/London')->format('T')
returns'BST',Carbon::now()->timezone('Europe/Stockholm')->format('T')
returns'CEST',但是Carbon::now()->timezone('Asia/Bangkok')->format('T')
returns '+07',这对我正在构建的调度系统的用户来说相当混乱。
我希望 T
总是 return 时区的 'non-numeric' 指示,有没有办法实现这一点而不必诉诸写出 'Asia/Bangkok' ?
应该return"ICT"。这是 PHP 的已知错误:https://bugs.php.net/bug.php?id=74835
不使用 Carbon 也会得到相同的结果:
$date = new DateTime('now', new DateTimeZone('Asia/Bangkok'));
echo $date->format('T');