PHP TZ设置长度

时间:2010-08-13 13:39:56

标签: php timezone

我很想知道PHP中时区设置的最大长度是多少?我将字符串存储在数据库中,并希望保持尽可能短的长度,但我看到时间区如“加拿大/东萨斯喀彻温省”,超出了我们目前的限制。

如果我可以获得所有支持的时区字符串的列表,我可以对它们进行排序,但它们目前分为几个不同的页面。

linky:http://www.php.net/manual/en/timezones.php

4 个答案:

答案 0 :(得分: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

*/
?>

答案 1 :(得分:9)

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获得。)

答案 2 :(得分:0)

来自manual

<?php
$timezone_identifiers = DateTimeZone::listIdentifiers();
for ($i=0; $i < 5; $i++) {
    echo "$timezone_identifiers[$i]\n";
}
?>

答案 3 :(得分:0)

如果您在MySQL中使用MySQL,请考虑MySQL已将Olson时区名称存储在“mysql”系统数据库中,名为“time_zone_name”的表中,名为“name”。一种选择是选择列的长度以匹配MySQL使用的长度。在MySQL 5.7中,时区名称长度为64个字符。要确定MySQL安装的使用长度,请按照以下示例进行操作:

import { Component } from '@angular/core';


@Component({
 selector: 'app-root',
 templateUrl: './app.component.html',
 styleUrls: ['./app.component.css'],

 })
export class AppComponent {
 title = 'app works';  
 }