<?php
class WP_JSON_DateTime extends DateTime
{
/**
* Workaround for DateTime::createFromFormat on PHP > 5.3
* Found on http://stackoverflow.com/a/17084893/717643
*
* @param string $format The format that the passed in string should be in.
* @param string $string String representing the time.
* @param DateTimeZone $timezone A DateTimeZone object representing the desired time zone.
* @return Datetime
*/
public static function createFromFormat($format, $time, $timezone = null)
{
if ( method_exists('DateTime', 'createFromFormat') ) {
return parent::createFromFormat($format, $time, $timezone);
}
return new DateTime(date($format, strtotime($time)), $timezone);
}
}
$timezone = new DateTimeZone('America/Mexico_City');
$date = WP_JSON_DateTime::createFromFormat('Y-m-d H:i:s', '2013-12-14 16:12:03', $timezone);
echo $date->format('c');
echo PHP_EOL;
echo $date->format('date_tz');
Deprecated: Return type of WP_JSON_DateTime::createFromFormat($format, $time, $timezone = null) should either be compatible with DateTime::createFromFormat(string $format, string $datetime, ?DateTimeZone $timezone = null): DateTime|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/vT6Es on line 13
2013-12-14T16:12:03-06:00
14pm31America/Mexico_City_31347
Fatal error: Class 'DateTime' not found in /in/vT6Es on line 2
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/vT6Es on line 13
Process exited with code 255.
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/vT6Es on line 13
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/vT6Es on line 13
Process exited with code 255.