计算iso8601时区的偏移量(以秒为单位)。

原型

iso8601_timezone_to_offset( string $timezone )

参数

$timezone (string) (Required) “Z”表示0偏移或“±hhmm”。

返回值

(int|float)  以秒为单位的偏移量。

源文件

路径:wp-includes/formatting.php

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
<?php
...
function iso8601_timezone_to_offset( $timezone ) {
	// $timezone is either 'Z' or '[+|-]hhmm'
	if ($timezone == 'Z') {
		$offset = 0;
	} else {
		$sign    = (substr($timezone, 0, 1) == '+') ? 1 : -1;
		$hours   = intval(substr($timezone, 1, 2));
		$minutes = intval(substr($timezone, 3, 4)) / 60;
		$offset  = $sign * HOUR_IN_SECONDS * ($hours + $minutes);
	}
	return $offset;
}

...
?>

其他

英文文档:https://developer.wordpress.org/reference/functions/iso8601_timezone_to_offset/