我想知道 PHP 中时区设置的最大长度是多少?我将字符串存储在数据库中,并希望长度尽可能短,但我看到像“加拿大/东萨斯喀彻温省”这样的时区超出了我们当前的限制。
如果我能得到所有支持的时区字符串的列表,我可以对它们进行排序,但它们目前被拆分到几个不同的页面上。
最佳答案
编辑 2021 年 6 月答案是 64。为什么?这是 MySQL 中用于存储这些时区名称字符串的列的宽度。
zoneinfo database在那些时区字符串后面只是添加了新的前缀。对于以前最长的时区字符串 America/Argentina/ComodRivadavia
,他们添加了 posix/America/Argentina/ComodRivadavia
和 right/America/Argentina/ComodRivadavia
,两者的长度均为 38。这高于之前最长的字符串 32。
这里是找到它的完整 PHP 代码:
<?php
$timezone_identifiers = DateTimeZone::listIdentifiers();
$maxlen = 0;
foreach($timezone_identifiers as $id)
{
if(strlen($id) > $maxlen)
$maxlen = strlen($id);
}
echo "Max Length: $maxlen";
/*
Output:
Max Length: 32
*/
?>
关于PHP TZ 设置长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3477347/