rest_get_date_with_gmt( string $date, bool $is_utc = false )

Parses a date into both its local and UTC equivalent, in MySQL datetime format.

Description Description

See also See also

Top ↑

Parameters Parameters


(string) (Required) RFC3339 timestamp.


(bool) (Optional) Whether the provided date should be interpreted as UTC.

Default value: false

Top ↑

Return Return

(array|null) Local and UTC datetime strings, in MySQL datetime format (Y-m-d H:i:s), null on failure.

Top ↑

Source Source

File: wp-includes/rest-api.php

function rest_get_date_with_gmt( $date, $is_utc = false ) {
	// Whether or not the original date actually has a timezone string
	// changes the way we need to do timezone conversion.  Store this info
	// before parsing the date, and use it later.
	$has_timezone = preg_match( '#(Z|[+-]\d{2}(:\d{2})?)$#', $date );

	$date = rest_parse_date( $date );

	if ( empty( $date ) ) {
		return null;

	// At this point $date could either be a local date (if we were passed a
	// *local* date without a timezone offset) or a UTC date (otherwise).
	// Timezone conversion needs to be handled differently between these two
	// cases.
	if ( ! $is_utc && ! $has_timezone ) {
		$local = gmdate( 'Y-m-d H:i:s', $date );
		$utc   = get_gmt_from_date( $local );
	} else {
		$utc   = gmdate( 'Y-m-d H:i:s', $date );
		$local = get_date_from_gmt( $utc );

	return array( $local, $utc );

Top ↑

Changelog Changelog

Version Description
4.4.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

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