我想知道PHP中时区设置的最大长度是多少?我存储在字符串中的数据库,并且想保持长度尽可能短,但我看到像"加拿大/东萨斯喀彻温省",这超出了我们目前的极限时区.
如果我能只得到所有支持的时区的字符串列表,我可以对它们进行排序,但他们正在拆到几个不同的页面.
linky:http://www.php.net/manual/en/timezones.php
sha*_*mar 11
答案是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
*/
?>
Run Code Online (Sandbox Code Playgroud)
Olson数据库 - 可从ftp://ftp.iana.org/tz/releases/或http://www.iana.org/time-zones获得(但另见http://www.twinsun.com/tz/ tz-link.htm *和http://en.wikipedia.org/wiki/Tz_database) - 是这些名称的来源.文件理论中的文档包括如何形成区域名称的描述.这有助于您确定名称的长度.
最长的'当前'名称是30个字符(America/Argentina/Buenos_Aires,America/Argentina/Rio_Gallegos,America/North_Dakota/New_Salem); 最长的'向后兼容'名称是32个字符(America/Argentina/ComodRivadavia).
* 请注意,TwinSun网站已有一段时间没有更新,并且有一些过时的链接(例如建议可以从ftp://ftp.elsie.nci.nih.gov获取Olson数据库- 现在可以从IANA获取).