size_t time_str_len = 0, format_str_len = 0;
zval datetime_object;
- if (zend_parse_parameters(ZEND_NUM_ARGS(), "ss|O", &format_str, &format_str_len, &time_str, &time_str_len, &timezone_object, date_ce_timezone) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS(), "ss|O!", &format_str, &format_str_len, &time_str, &time_str_len, &timezone_object, date_ce_timezone) == FAILURE) {
RETURN_FALSE;
}
size_t time_str_len = 0, format_str_len = 0;
zval datetime_object;
- if (zend_parse_parameters(ZEND_NUM_ARGS(), "ss|O", &format_str, &format_str_len, &time_str, &time_str_len, &timezone_object, date_ce_timezone) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS(), "ss|O!", &format_str, &format_str_len, &time_str, &time_str_len, &timezone_object, date_ce_timezone) == FAILURE) {
RETURN_FALSE;
}
--- /dev/null
+--TEST--
+DateTime::createFromFormat() does not allow NULL $timezone
+--FILE--
+<?php
+
+date_default_timezone_set('America/Los_Angeles');
+var_dump(DateTime::createFromFormat('Y/m/d H:i:s', '1995/06/08 12:34:56', null));
+var_dump(DateTimeImmutable::createFromFormat('Y/m/d H:i:s', '1995/06/08 12:34:56', null));
+--EXPECT--
+object(DateTime)#1 (3) {
+ ["date"]=>
+ string(26) "1995-06-08 12:34:56.000000"
+ ["timezone_type"]=>
+ int(3)
+ ["timezone"]=>
+ string(19) "America/Los_Angeles"
+}
+object(DateTimeImmutable)#1 (3) {
+ ["date"]=>
+ string(26) "1995-06-08 12:34:56.000000"
+ ["timezone_type"]=>
+ int(3)
+ ["timezone"]=>
+ string(19) "America/Los_Angeles"
+}