| @@ 180-200 (lines=21) @@ | ||
| 177 | * @param string $datetime RFC3339 datetime |
|
| 178 | * @return string MySQl datetime (YYYY-MM-DD HH:MM:SS) |
|
| 179 | */ |
|
| 180 | protected function parse_datetime( $datetime ) { |
|
| 181 | // Strip millisecond precision (a full stop followed by one or more digits) |
|
| 182 | if ( strpos( $datetime, '.' ) !== false ) { |
|
| 183 | $datetime = preg_replace( '/\.\d+/', '', $datetime ); |
|
| 184 | } |
|
| 185 | ||
| 186 | // default timezone to UTC |
|
| 187 | $datetime = preg_replace( '/[+-]\d+:+\d+$/', '+00:00', $datetime ); |
|
| 188 | ||
| 189 | try { |
|
| 190 | ||
| 191 | $datetime = new DateTime( $datetime, new DateTimeZone( 'UTC' ) ); |
|
| 192 | ||
| 193 | } catch ( Exception $e ) { |
|
| 194 | ||
| 195 | $datetime = new DateTime( '@0' ); |
|
| 196 | ||
| 197 | } |
|
| 198 | ||
| 199 | return $datetime->format( 'Y-m-d H:i:s' ); |
|
| 200 | } |
|
| 201 | ||
| 202 | /** |
|
| 203 | * Format a unix timestamp or MySQL datetime into an RFC3339 datetime. |
|
| @@ 680-701 (lines=22) @@ | ||
| 677 | * @param string $datetime RFC3339 datetime |
|
| 678 | * @return string MySQl datetime (YYYY-MM-DD HH:MM:SS) |
|
| 679 | */ |
|
| 680 | public function parse_datetime( $datetime ) { |
|
| 681 | ||
| 682 | // Strip millisecond precision (a full stop followed by one or more digits) |
|
| 683 | if ( strpos( $datetime, '.' ) !== false ) { |
|
| 684 | $datetime = preg_replace( '/\.\d+/', '', $datetime ); |
|
| 685 | } |
|
| 686 | ||
| 687 | // default timezone to UTC |
|
| 688 | $datetime = preg_replace( '/[+-]\d+:+\d+$/', '+00:00', $datetime ); |
|
| 689 | ||
| 690 | try { |
|
| 691 | ||
| 692 | $datetime = new DateTime( $datetime, new DateTimeZone( 'UTC' ) ); |
|
| 693 | ||
| 694 | } catch ( Exception $e ) { |
|
| 695 | ||
| 696 | $datetime = new DateTime( '@0' ); |
|
| 697 | ||
| 698 | } |
|
| 699 | ||
| 700 | return $datetime->format( 'Y-m-d H:i:s' ); |
|
| 701 | } |
|
| 702 | ||
| 703 | /** |
|
| 704 | * Format a unix timestamp or MySQL datetime into an RFC3339 datetime |
|