Php 时区偏移大于12小时意味着什么?
MySQL仅在这八个时区被myPhp 时区偏移大于12小时意味着什么?,php,datetime,timezone,utc,timezone-offset,Php,Datetime,Timezone,Utc,Timezone Offset,MySQL仅在这八个时区被mygetOffset()函数的输出阻塞 时区偏移大于12小时意味着什么?您建议如何修改以使$os保持在+/-12小时之间 function getOffset() { $os=(new \DateTime())->getOffset(); return $os >= 0?'+'.gmdate("G:i", $os):'-'.gmdate("G:i", -$os); } foreach(DateTimeZone::listIdentifi
getOffset()
函数的输出阻塞
时区偏移大于12小时意味着什么?您建议如何修改以使$os
保持在+/-12小时之间
function getOffset() {
$os=(new \DateTime())->getOffset();
return $os >= 0?'+'.gmdate("G:i", $os):'-'.gmdate("G:i", -$os);
}
foreach(DateTimeZone::listIdentifiers() as $tz) {
date_default_timezone_set($tz);
$os=getOffset();
$hours=explode(':',$os)[0];
if($hours>12 || $hours<-12) {
echo("$tz has offset of $os.<br>");
}
}
. 你一定会爱上甲骨文,他们会毁掉一切:)@AlexKarshin
Pacific/Kiritimati
实际上就是我最初偶然发现的那个!那么,大于13小时是有效的,但MySQL不支持吗?顺便说一下,我用的是MariaDB。仍然很好奇超过12小时意味着什么,但实际上这是一个不同论坛的问题。我猜解决办法是减去24小时。一天有24小时。表单偏移量0您最多可以提前12小时或延迟12小时。所以+13与-11相同。@Juan-11与+13不同。这是因为“国际日期线”的日期变化。。。23:00 GMT-11小时仍然是同一天,但23:00 GMT+13是第二天。。。请看一看基里蒂马蒂人所在的地图。@Zimmi你是对的,尽管它似乎是通过将偏移量-10和-11替换为+13和+14而人为引入的。
Antarctica/McMurdo has offset of +13:00.
Pacific/Apia has offset of +14:00.
Pacific/Auckland has offset of +13:00.
Pacific/Chatham has offset of +13:45.
Pacific/Enderbury has offset of +13:00.
Pacific/Fakaofo has offset of +13:00.
Pacific/Kiritimati has offset of +14:00.
Pacific/Tongatapu has offset of +13:00.