符合实际的正确php时区列表
以下函数为我提供所有支持时区的列表。但问题是上市是错误的。请勾选“美国/纽约”,它应该是-05,但它显示的是-04。你在这里。请给我一个解决方案,以获得100%正确的时区列表,我将能够捕获该时区值保存在我的数据库中。所以像这个函数一样,我也需要适当的格式,比如列表中的“America/New_York”。仅显示时区列表对我来说不起作用,因为我必须将其保存在数据库中符合实际的正确php时区列表,php,Php,以下函数为我提供所有支持时区的列表。但问题是上市是错误的。请勾选“美国/纽约”,它应该是-05,但它显示的是-04。你在这里。请给我一个解决方案,以获得100%正确的时区列表,我将能够捕获该时区值保存在我的数据库中。所以像这个函数一样,我也需要适当的格式,比如列表中的“America/New_York”。仅显示时区列表对我来说不起作用,因为我必须将其保存在数据库中 <?php function tz_list() { $zones_array = array(); $times
<?php
function tz_list() {
$zones_array = array();
$timestamp = time();
foreach(timezone_identifiers_list() as $key => $zone) {
date_default_timezone_set($zone);
$zones_array[$key]['zone'] = $zone;
$zones_array[$key]['diff_from_GMT'] = 'UTC/GMT ' . date('P', $timestamp);
}
return $zones_array;
}
?>
<form method="post">
<select class="field" name="time_zone_selector">
<option selected="selected" value="">Choose TimeZone</option>
<?php foreach(tz_list() as $t) { ?>
<option value="<?php print $t['zone'] ?>">
<?php print $t['zone'].' ('.$t['diff_from_GMT'] . ') ' ?>
</option>
<?php } ?>
</select>
</form>
选择时区
当前纽约时区为-4。目前是美国东部时间,东部时间是10月至3月(我想可能是9月至3月)。你似乎没有考虑夏令时。根据我的电脑时区设置为-05@newyork。如何从php列表中获取该值?@Gekingpoe,您的计算机出错了。除非你能说明你真正想要什么,否则我们帮不了你。(看起来美国/纽约的UTC偏移量不是您真正想要的。)@Gekingpoe,如果美国/纽约“
,请尝试使用“EST”
。或者将您的日期与夏令时以外的日期(如1月1日)进行比较。作为最后手段,您可能需要手动调整一小时的差异…如果我是您,我将强烈避免这样做;时区异常复杂。我也很想知道你这样做的用例。这很有可能是一场灾难。