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) (Required) The date to be converted, in UTC or GMT timezone.


(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

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:

    $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.