Code Duplication    Length = 21-22 lines in 2 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/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