wp_timezone_string()WP 5.3.0

Retrieves the timezone from site settings as a string.

Uses the timezone_string option to get a proper timezone name if available, otherwise falls back to a manual UTC ± offset.

Example return values:

  • 'Europe/Rome'
  • 'America/North_Dakota/New_Salem'
  • 'UTC'
  • '-06:30'
  • '+00:00'
  • '+08:45'
Used By: wp_timezone()
1 time — 0.0030341 sec (very slow) | 50000 times — 1.60 sec (fast)

No Hooks.

Return

String. PHP timezone name or a ±HH:MM offset.

Usage

wp_timezone_string();

Examples

0

#1 Demo

echo wp_timezone_string(); // Asia/Tashkent

// when the timezone_string option is empty
echo wp_timezone_string(); // +02:00

Changelog

Since 5.3.0 Introduced.

wp_timezone_string() code WP 6.5.2

function wp_timezone_string() {
	$timezone_string = get_option( 'timezone_string' );

	if ( $timezone_string ) {
		return $timezone_string;
	}

	$offset  = (float) get_option( 'gmt_offset' );
	$hours   = (int) $offset;
	$minutes = ( $offset - $hours );

	$sign      = ( $offset < 0 ) ? '-' : '+';
	$abs_hour  = abs( $hours );
	$abs_mins  = abs( $minutes * 60 );
	$tz_offset = sprintf( '%s%02d:%02d', $sign, $abs_hour, $abs_mins );

	return $tz_offset;
}