iso8601_timezone_to_offset()

最后更新于:2021-11-27 07:47:27

iso8601_timezone_to_offset( string$timezone)

Given an ISO 8601 timezone, returns its UTC offset in seconds.

参数

$timezone

(string) (Required) Either ‘Z’ for 0 offset or ‘±hhmm’.

响应

(int|float) The offset in seconds.

源文件

文件: gc-includes/formatting.php

function iso8601_timezone_to_offset( $timezone ) {
	// $timezone is either 'Z' or '[+|-]hhmm'.
	if ( 'Z' === $timezone ) {
		$offset = 0;
	} else {
		$sign    = ( '+' === substr( $timezone, 0, 1 ) ) ? 1 : -1;
		$hours   = (int) substr( $timezone, 1, 2 );
		$minutes = (int) substr( $timezone, 3, 4 ) / 60;
		$offset  = $sign * HOUR_IN_SECONDS * ( $hours + $minutes );
	}
	return $offset;
}