W3cubDocs

/WordPress

rest_parse_date( string $date, bool $force_utc = false ): int|false

Parses an RFC3339 time into a Unix timestamp.

Description

Explicitly check for false to detect failure, as zero is a valid return value on success.

Parameters

$datestringrequired
RFC3339 timestamp.
$force_utcbooloptional
Whether to force UTC timezone instead of using the timestamp’s timezone.

Default:false

Return

int|false Unix timestamp on success, false on failure.

Source

function rest_parse_date( $date, $force_utc = false ) {
	if ( $force_utc ) {
		$date = preg_replace( '/[+-]\d+:?\d+$/', '+00:00', $date );
	}

	$regex = '#^\d{4}-\d{2}-\d{2}[Tt ]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}(?::\d{2})?)?$#';

	if ( ! preg_match( $regex, $date, $matches ) ) {
		return false;
	}

	return strtotime( $date );
}

Changelog

Version Description
4.4.0 Introduced.

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