Ticket #40653: 40653.2.diff
File 40653.2.diff, 1.7 KB (added by , 6 years ago) |
---|
-
src/wp-includes/functions.php
59 59 * @return int|string Integer if $type is 'timestamp', string otherwise. 60 60 */ 61 61 function current_time( $type, $gmt = 0 ) { 62 // Special handling for legacy offset timestamps. 63 if ( 'timestamp' === $type && ! $gmt ) { 64 return time() + ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS ); 65 } 66 62 67 switch ( $type ) { 63 68 case 'mysql': 64 return ( $gmt ) ? gmdate( 'Y-m-d H:i:s' ) : gmdate( 'Y-m-d H:i:s', ( time() + ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS ) ) );69 $format ='Y-m-d H:i:s'; 65 70 case 'timestamp': 66 return ( $gmt ) ? time() : time() + ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS );71 $format = 'U'; 67 72 default: 68 return ( $gmt ) ? date( $type ) : date( $type, time() + ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS ) );73 $format = $type; 69 74 } 75 76 if ( $gmt ) { 77 $timezone_string = 'UTC'; 78 } else { 79 $timezone_string = get_option( 'timezone_string' ); 80 81 // A direct offset may be used instead of a timezone identifier. 82 if ( empty( $timezone_string ) ) { 83 $offset = get_option( 'gmt_offset' ); 84 85 if ( empty( $offset ) ) { 86 $timezone_string = 'UTC'; 87 } 88 } 89 } 90 91 // There is no way to handle offsets using DateTimeZone in PHP <= 5.4. 92 if ( $timezone_string ) { 93 $timezone = timezone_open( $timezone_string ); 94 $datetime = date_create( 'now', $timezone ); 95 $date = $datetime->format( $format ); 96 } else { 97 $date = date( $format, time() - $offset * HOUR_IN_SECONDS ); 98 } 99 100 if ( 'U' === $format ) { 101 $date = (int) $date; 102 } 103 104 return $date; 70 105 } 71 106 72 107 /**