W3cubDocs

/WordPress

current_time( string $type, int|bool $gmt ): int|string

Retrieves the current time based on specified type.

Description

  • The ‘mysql’ type will return the time in the format for MySQL DATETIME field.
    • The ‘timestamp’ or ‘U’ types will return the current timestamp or a sum of timestamp and timezone offset, depending on $gmt.
    • Other strings will be interpreted as PHP date formats (e.g. ‘Y-m-d’).

If $gmt is a truthy value then both types will use GMT time, otherwise the output is adjusted with the GMT offset for the site.

Parameters

$typestringrequired
Type of time to retrieve. Accepts 'mysql', 'timestamp', 'U', or PHP date format string (e.g. 'Y-m-d').
$gmtint|booloptional
Whether to use GMT timezone. Default false.

Return

int|string Integer if $type is 'timestamp' or 'U', string otherwise.

Source

function current_time( $type, $gmt = 0 ) {
	// Don't use non-GMT timestamp, unless you know the difference and really need to.
	if ( 'timestamp' === $type || 'U' === $type ) {
		return $gmt ? time() : time() + (int) ( (float) get_option( 'gmt_offset' ) * HOUR_IN_SECONDS );
	}

	if ( 'mysql' === $type ) {
		$type = 'Y-m-d H:i:s';
	}

	$timezone = $gmt ? new DateTimeZone( 'UTC' ) : wp_timezone();
	$datetime = new DateTime( 'now', $timezone );

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

Changelog

Version Description
5.3.0 Now returns an integer if $type is 'U'. Previously a string was returned.
1.0.0 Introduced.

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