get_date_from_gmt( string $string, string $format = 'Y-m-d H:i:s' )

Given a date in UTC or GMT timezone, returns that date in the timezone of the site.


Description Description

Requires and returns a date in the Y-m-d H:i:s format. Return format can be overridden using the $format parameter.


Top ↑

Parameters Parameters

$string

(string) (Required) The date to be converted, in UTC or GMT timezone.

$format

(string) (Optional) The format string for the returned date.

Default value: 'Y-m-d H:i:s'


Top ↑

Return Return

(string) Formatted version of the date, in the site's timezone.


Top ↑

Source Source

File: wp-includes/formatting.php

function get_date_from_gmt( $string, $format = 'Y-m-d H:i:s' ) {
	$datetime = date_create( $string, new DateTimeZone( 'UTC' ) );

	if ( false === $datetime ) {
		return gmdate( $format, 0 );
	}

	return $datetime->setTimezone( wp_timezone() )->format( $format );
}


Top ↑

Changelog Changelog

Changelog
Version Description
1.2.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

  1. Skip to note 1 content
    Contributed by d4mation

    get_date_from_gmt() does not accept a Unix Timestamp because date_create() doesn’t.

    If you need to provide a Unix Timestamp, you will need to convert it to a different format first like the following example:

    <?php
    
    $utc_timestamp = 1623096269;
    
    // This is a format that date_create() will accept
    $utc_timestamp_converted = date( 'Y-m-d H:i:s', $utc_timestamp );
    
    $output_format = 'Y-m-d H:i:s';
    
    // Now we can use our timestamp with get_date_from_gmt()
    $local_timestamp = get_date_from_gmt( $utc_timestamp_converted, $output_format );
    

You must log in before being able to contribute a note or feedback.