wp_timezone example


function get_post_datetime( $post = null, $field = 'date', $source = 'local' ) {
    $post = get_post( $post );

    if ( ! $post ) {
        return false;
    }

    $wp_timezone = wp_timezone();

    if ( 'gmt' === $source ) {
        $time     = ( 'modified' === $field ) ? $post->post_modified_gmt : $post->post_date_gmt;
        $timezone = new DateTimeZone( 'UTC' );
    } else {
        $time     = ( 'modified' === $field ) ? $post->post_modified : $post->post_date;
        $timezone = $wp_timezone;
    }

    if ( empty( $time ) || '0000-00-00 00:00:00' === $time ) {
        return false;
    }

function get_gmt_from_date( $date_string$format = 'Y-m-d H:i:s' ) {
    $datetime = date_create( $date_stringwp_timezone() );

    if ( false === $datetime ) {
        return gmdate( $format, 0 );
    }

    return $datetime->setTimezone( new DateTimeZone( 'UTC' ) )->format( $format );
}

/** * Given a date in UTC or GMT timezone, returns that date in the timezone of the site. * * Requires a date in the Y-m-d H:i:s format. * Default return format of 'Y-m-d H:i:s' can be overridden using the `$format` parameter. * * @since 1.2.0 * * @param string $date_string The date to be converted, in UTC or GMT timezone. * @param string $format The format string for the returned date. Default 'Y-m-d H:i:s'. * @return string Formatted version of the date, in the site's timezone. */
                $datetime = array(
                    'year'   => (int) $matches[1],
                    'month'  => (int) $matches[2],
                    'day'    => (int) $matches[3],
                    'hour'   => (int) $matches[4],
                    'minute' => (int) $matches[5],
                );
            }

            // If no match is found, we don't support default_to_max.             if ( ! is_array( $datetime ) ) {
                $wp_timezone = wp_timezone();

                // Assume local timezone if not provided.                 $dt = date_create( $datetime$wp_timezone );

                if ( false === $dt ) {
                    return gmdate( 'Y-m-d H:i:s', false );
                }

                return $dt->setTimezone( $wp_timezone )->format( 'Y-m-d H:i:s' );
            }
        }

        

function mysql2date( $format$date$translate = true ) {
    if ( empty( $date ) ) {
        return false;
    }

    $timezone = wp_timezone();
    $datetime = date_create( $date$timezone );

    if ( false === $datetime ) {
        return false;
    }

    // Returns a sum of timestamp with timezone offset. Ideally should never be used.     if ( 'G' === $format || 'U' === $format ) {
        return $datetime->getTimestamp() + $datetime->getOffset();
    }

    
Home | Imprint | This part of the site doesn't use cookies.