在PHP中,如何获得时区的文本偏移量
如何获取时区偏移文本?例如,如果我通过:在PHP中,如何获得时区的文本偏移量,php,timezone,timezone-offset,Php,Timezone,Timezone Offset,如何获取时区偏移文本?例如,如果我通过: America/New_York …我希望收到回信: -04:00 我创建了一个名为getTimezoneOffsetText的函数 <?php function getTimezoneOffsetText($timezone){ date_default_timezone_set( "UTC" ); $daylight_savings_offset_in_seconds = timezone_offse
America/New_York
…我希望收到回信:
-04:00
我创建了一个名为getTimezoneOffsetText的函数
<?php
function getTimezoneOffsetText($timezone){
date_default_timezone_set( "UTC" );
$daylight_savings_offset_in_seconds = timezone_offset_get(timezone_open($timezone), new DateTime());
$mod = $daylight_savings_offset_in_seconds/60 % 60;
$min = abs($mod);
return sprintf('%+03d', $daylight_savings_offset_in_seconds/60/60) . ':' . sprintf('%02d', $min);
}
$offset1 = 'America/New_York';
$offset2 = 'Asia/Kabul';
$offset3 = 'Asia/Kathmandu';
$offset4 = 'Israel';
$offset5 = 'Greenwich';
$offset6 = 'America/Caracas';
echo '<pre>';
echo $offset1 . ":\t" . getTimezoneOffsetText($offset1) . '<br/>';
echo $offset2 . ":\t\t" . getTimezoneOffsetText($offset2) . '<br/>';
echo $offset3 . ":\t\t" . getTimezoneOffsetText($offset3) . '<br/>';
echo $offset4 . ":\t\t\t" . getTimezoneOffsetText($offset4) . '<br/>';
echo $offset5 . ":\t\t" . getTimezoneOffsetText($offset5) . '<br/>';
echo $offset6 . ":\t" . getTimezoneOffsetText($offset6) . '<br/>';
echo '</pre>';
请注意,它有半小时和其他“非标准”时区,如加拉加斯、喀布尔和加德满都。我很好奇,是否已经有一个函数可以实现这一点。这是你问题的一部分吗?或者答案?我相信这个问题和我在研究后提供的答案(在答案中找到)被否决了,因为它不符合“否决”按钮顶端的标准:“这个问题没有显示任何研究成果;它不清楚或没有用处”。具有讽刺意味的是,这正是我喜欢的问题/答案。简短、清晰、切中要害,不被一堆废话所迷惑,这些废话展示了我们经常发现的OP的失败尝试(请注意,这不是不合适的)。有趣的是,它符合SO声明目的的标准:。特别是“快”
America/Caracas: -04:30
Asia/Kabul: +04:30
Asia/Kathmandu: +05:45
Israel: +03:00
Greenwich: +00:00
America/New_York: -04:00