Code Duplication    Length = 21-22 lines in 4 locations

includes/cli/class-wc-cli-command.php 1 location

@@ 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.

includes/api/legacy/v1/class-wc-api-server.php 1 location

@@ 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

includes/api/legacy/v2/class-wc-api-server.php 1 location

@@ 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

includes/api/legacy/v3/class-wc-api-server.php 1 location

@@ 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