本初子午线
国际日期变更线 东12和西12的重合线.线两边相差一整天24小时.且是一天时间的起始
东区为正 西区为负
//封装在一个类中
public static $timeZoneMap = [
'ca' => -5,
'us' => -5,
// 'us' => -7,
'mx' => -6,
'de' => 1,
'es' => 1,
'fr' => 1,
'in' => 5,
'it' => 1,
'gb' => 0,
'cn' => 8,
'jp' => 9,
'au' => 11,
'br' => -2,
];
/**
* 计算的区时=已知区时-(已知区时的时区-要计算区时的时区),(注:东时区为正,西时区为负)。
* @param $time 已知区时时间戳
* @param string $from_area
* @param string $to_area
* @return float|int
*/
public static function timetotime($time, $from_area='cn', $to_area = 'cn'){
$timeZone_from = self::$timeZoneMap[$from_area];
$timeZone_to = self::$timeZoneMap[$to_area];
return ($time - ($timeZone_from-$timeZone_to)*3600);
}
网友评论