iso8601_to_datetime()
Given an ISO 8601 (Ymd\TH:i:sO) date, returns a MySQL DateTime (Y-m-d H:i:s) format used by post_date[_gmt].
No Hooks.
Return
String|false
. The date and time in MySQL DateTime format - Y-m-d H:i:s, or false on failure.
Usage
iso8601_to_datetime( $date_string, $timezone );
- $date_string(string) (required)
- Date and time in ISO 8601 format https://en.wikipedia.org/wiki/ISO_8601.
- $timezone(string)
- If set to 'gmt' returns the result in UTC.
Default: 'user'
Changelog
Since 1.5.0 | Introduced. |
iso8601_to_datetime() iso8601 to datetime code WP 6.7.1
function iso8601_to_datetime( $date_string, $timezone = 'user' ) { $timezone = strtolower( $timezone ); $wp_timezone = wp_timezone(); $datetime = date_create( $date_string, $wp_timezone ); // Timezone is ignored if input has one. if ( false === $datetime ) { return false; } if ( 'gmt' === $timezone ) { return $datetime->setTimezone( new DateTimeZone( 'UTC' ) )->format( 'Y-m-d H:i:s' ); } if ( 'user' === $timezone ) { return $datetime->setTimezone( $wp_timezone )->format( 'Y-m-d H:i:s' ); } return false; }