A WordPress-centric search engine for devs and theme authors

current_time › WordPress Function

current_time ( $type, $gmt = 0 )
Parameters: (2)
  • (string) $type Type of time to retrieve. Accepts 'mysql', 'timestamp', 'U', or PHP date format string (e.g. 'Y-m-d').
    Required: Yes
  • (int|bool) $gmt Optional. Whether to use GMT timezone. Default false.
    Required: No
  • (int|string) Integer if `$type` is 'timestamp' or 'U', string otherwise.
Defined at:
Change Log:
  • 5.3.0

Retrieves the current time based on specified type.

- 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.


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) ( 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 );