A WordPress-centric search engine for devs and theme authors



get_gmt_from_date ›

Since1.2.0
Deprecatedn/a
get_gmt_from_date ( $string, $format = 'Y-m-d H:i:s' )
Parameters: (2)
  • (string) $string The date to be converted.
    Required: Yes
  • (string) $format The format string for the returned date (default is Y-m-d H:i:s)
    Required: No
    Default: 'Y-m-d H:i:s'
Returns:
  • (string) GMT version of the date provided.
Defined at:
Codex:

Returns a date in the GMT equivalent.

Requires and returns a date in the Y-m-d H:i:s format. If there is a timezone_string available, the date is assumed to be in that timezone, otherwise it simply subtracts the value of the 'gmt_offset' option. Return format can be overridden using the $format parameter.



Source

function get_gmt_from_date( $string, $format = 'Y-m-d H:i:s' ) {
	$tz = get_option( 'timezone_string' );
	if ( $tz ) {
		$datetime = date_create( $string, new DateTimeZone( $tz ) );
		if ( ! $datetime ) {
			return gmdate( $format, 0 );
		}
		$datetime->setTimezone( new DateTimeZone( 'UTC' ) );
		$string_gmt = $datetime->format( $format );
	} else {
		if ( ! preg_match( '#([0-9]{1,4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})#', $string, $matches ) ) {
			$datetime = strtotime( $string );
			if ( false === $datetime ) {
				return gmdate( $format, 0 );
			}
			return gmdate( $format, $datetime );
		}
		$string_time = gmmktime( $matches[4], $matches[5], $matches[6], $matches[2], $matches[3], $matches[1] );
		$string_gmt  = gmdate( $format, $string_time - get_option( 'gmt_offset' ) * HOUR_IN_SECONDS );
	}
	return $string_gmt;
}