mysql2date( string $format, string $date, bool $translate = true )

Convert given MySQL date string into a different format.

Description

$format should be a PHP date format string. ‘U’ and ‘G’ formats will return a sum of timestamp with timezone offset. $date is expected to be local time in MySQL format (Y-m-d H:i:s).

Historically UTC time could be passed to the function to produce Unix timestamp.

If $translate is true then the given date and format string will be passed to wp_date() for translation.

Parameters

$format

(string) (Required) Format of the date to return.

$date

(string) (Required) Date string to convert.

$translate

(bool) (Optional) Whether the return date should be translated.

Default value: true

Return

(string|int|false) Formatted date string or sum of Unix timestamp and timezone offset. False on failure.

Source

File: wp-includes/functions.php

function mysql2date( $format, $date, $translate = true ) {
	if ( empty( $date ) ) {
		return false;
	}

	$datetime = date_create( $date, wp_timezone() );

	if ( false === $datetime ) {
		return false;
	}

	// Returns a sum of timestamp with timezone offset. Ideally should never be used.
	if ( 'G' === $format || 'U' === $format ) {
		return $datetime->getTimestamp() + $datetime->getOffset();
	}

	if ( $translate ) {
		return wp_date( $format, $datetime->getTimestamp() );
	}

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

Changelog

Version Description
0.71 Introduced.

© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/mysql2date