WC_API_Server::parse_datetime( string $datetime )

Parse an RFC3339 datetime into a MySQl datetime


Description Description

Invalid dates default to unix epoch


Parameters Parameters

$datetime

(Required) RFC3339 datetime


Top ↑

Return Return

(string) MySQl datetime (YYYY-MM-DD HH:MM:SS)


Top ↑

Source Source

File: includes/legacy/api/v2/class-wc-api-server.php

	public function parse_datetime( $datetime ) {

		// Strip millisecond precision (a full stop followed by one or more digits)
		if ( strpos( $datetime, '.' ) !== false ) {
			$datetime = preg_replace( '/\.\d+/', '', $datetime );
		}

		// default timezone to UTC
		$datetime = preg_replace( '/[+-]\d+:+\d+$/', '+00:00', $datetime );

		try {

			$datetime = new DateTime( $datetime, new DateTimeZone( 'UTC' ) );

		} catch ( Exception $e ) {

			$datetime = new DateTime( '@0' );

		}

		return $datetime->format( 'Y-m-d H:i:s' );
	}

Top ↑

Changelog Changelog

Changelog
Version Description
2.1 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

You must log in before being able to contribute a note or feedback.