A WordPress-centric search engine for devs and theme authors

mysql2date › WordPress Function

mysql2date ( $format, $date, $translate = true )
Parameters: (3)
  • (string) $format Format of the date to return.
    Required: Yes
  • (string) $date Date string to convert.
    Required: Yes
  • (bool) $translate Whether the return date should be translated. Default true.
    Required: No
    Default: true
  • (string|int|false) Integer if `$format` is 'U' or 'G', string otherwise. False on failure.
Defined at:

Converts given MySQL date string into a different format.

- $format should be a PHP date format string. - 'U' and 'G' formats will return an integer 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.

Related Functions: is_date, translate


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

	$timezone = wp_timezone();
	$datetime = date_create( $date, $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(), $timezone );

	return $datetime->format( $format );