Retrieves the current time based on specified type.

The ‘mysql’ type will return the time in the format for MySQL DATETIME field. The ‘timestamp’ type 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’).

/**
 Retrieves the current time based on specified type.
 *
 The 'mysql' type will return the time in the format for MySQL DATETIME field.
 The 'timestamp' type 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 set to either '1' or 'true', then both types will use GMT time.
 if $gmt is false, the output is adjusted with the GMT offset in the WordPress option.
 *
 @since 1.0.0
 *
 @param string   $type Type of time to retrieve. Accepts 'mysql', 'timestamp',
 or PHP date format string (e.g. 'Y-m-d').
 @param int|bool $gmt  Optional. Whether to use GMT timezone. Default false.
 @return int|string Integer if $type is 'timestamp', string otherwise.
 */
 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 );
 } 

Leave a Comment

Your email address will not be published. Required fields are marked *