| @@ 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. |
|
| @@ 637-658 (lines=22) @@ | ||
| 634 | * @param string $datetime RFC3339 datetime |
|
| 635 | * @return string MySQl datetime (YYYY-MM-DD HH:MM:SS) |
|
| 636 | */ |
|
| 637 | public function parse_datetime( $datetime ) { |
|
| 638 | ||
| 639 | // Strip millisecond precision (a full stop followed by one or more digits) |
|
| 640 | if ( strpos( $datetime, '.' ) !== false ) { |
|
| 641 | $datetime = preg_replace( '/\.\d+/', '', $datetime ); |
|
| 642 | } |
|
| 643 | ||
| 644 | // default timezone to UTC |
|
| 645 | $datetime = preg_replace( '/[+-]\d+:+\d+$/', '+00:00', $datetime ); |
|
| 646 | ||
| 647 | try { |
|
| 648 | ||
| 649 | $datetime = new DateTime( $datetime, new DateTimeZone( 'UTC' ) ); |
|
| 650 | ||
| 651 | } catch ( Exception $e ) { |
|
| 652 | ||
| 653 | $datetime = new DateTime( '@0' ); |
|
| 654 | ||
| 655 | } |
|
| 656 | ||
| 657 | return $datetime->format( 'Y-m-d H:i:s' ); |
|
| 658 | } |
|
| 659 | ||
| 660 | /** |
|
| 661 | * Format a unix timestamp or MySQL datetime into an RFC3339 datetime |
|
| @@ 674-695 (lines=22) @@ | ||
| 671 | * @param string $datetime RFC3339 datetime |
|
| 672 | * @return string MySQl datetime (YYYY-MM-DD HH:MM:SS) |
|
| 673 | */ |
|
| 674 | public function parse_datetime( $datetime ) { |
|
| 675 | ||
| 676 | // Strip millisecond precision (a full stop followed by one or more digits) |
|
| 677 | if ( strpos( $datetime, '.' ) !== false ) { |
|
| 678 | $datetime = preg_replace( '/\.\d+/', '', $datetime ); |
|
| 679 | } |
|
| 680 | ||
| 681 | // default timezone to UTC |
|
| 682 | $datetime = preg_replace( '/[+-]\d+:+\d+$/', '+00:00', $datetime ); |
|
| 683 | ||
| 684 | try { |
|
| 685 | ||
| 686 | $datetime = new DateTime( $datetime, new DateTimeZone( 'UTC' ) ); |
|
| 687 | ||
| 688 | } catch ( Exception $e ) { |
|
| 689 | ||
| 690 | $datetime = new DateTime( '@0' ); |
|
| 691 | ||
| 692 | } |
|
| 693 | ||
| 694 | return $datetime->format( 'Y-m-d H:i:s' ); |
|
| 695 | } |
|
| 696 | ||
| 697 | /** |
|
| 698 | * 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 |
|