Switch language

wpseek.com
A WordPress-centric search engine for devs and theme authors




iso8601_to_datetime [ WordPress Function ]

iso8601_to_datetime ( $date_string, $timezone = 'user' )
Parameters:
  • (string) $date_string Date and time in ISO 8601 format {@link http://en.wikipedia.org/wiki/ISO_8601}.
  • (string) $timezone Optional. If set to GMT returns the time minus gmt_offset. Default is 'user'.
Returns:
  • (string) The date and time in MySQL DateTime format - Y-m-d H:i:s.
Defined at:



Converts an iso8601 date to MySQL DateTime format used by post_date[_gmt].

Source


<?php
function iso8601_to_datetime($date_string$timezone 'user') {
    
$timezone strtolower($timezone);

    if (
$timezone == 'gmt') {

        
preg_match('#([0-9]{4})([0-9]{2})([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(Z|[\+|\-][0-9]{2,4}){0,1}#'$date_string$date_bits);

        if (!empty(
$date_bits[7])) { // we have a timezone, so let's compute an offset
            
$offset iso8601_timezone_to_offset($date_bits[7]);
        } else { 
// we don't have a timezone, so we assume user local timezone (not server's!)
            
$offset 3600 get_option('gmt_offset');
        }

        
$timestamp gmmktime($date_bits[4], $date_bits[5], $date_bits[6], $date_bits[2], $date_bits[3], $date_bits[1]);
        
$timestamp -= $offset;

        return 
gmdate('Y-m-d H:i:s'$timestamp);

    } else if (
$timezone == 'user') {
        return 
preg_replace('#([0-9]{4})([0-9]{2})([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(Z|[\+|\-][0-9]{2,4}){0,1}#''$1-$2-$3 $4:$5:$6'$date_string);
    }
}
?>

Examples [ wp-snippets.com ]

Google Arama Sonuçlarý

Dahasý ...

Kullanýcý Tartýþmalarý [ wordpress.org ]

- Bulunamadý -

Yeni bir konu yaz ...

0 User Note(s)

Henüz yok. Ýlk sen ol!

Yeni Ekle ...



HTML5 Powered with CSS3 / Styling, Performance & Integration, and Semantics