--TEST--
SOAP XML Schema 86: DateTimeInterface date/time types
--EXTENSIONS--
soap
xml
--FILE--
EOF;
$test_dates = [
new DateTime("2023-10-14 13:37:42.1234+02:00"),
new DateTimeImmutable("2023-10-14 13:37:42.1234+02:00"),
new DateTime("2023-10-14 13:37:42.1234Z"),
];
foreach ($test_dates as $date) {
test_schema($schema,'type="tns:testType"',array(
'dateTime' => $date,
'time' => $date,
'date' => $date,
'gYearMonth' => $date,
'gYear' => $date,
'gMonthDay' => $date,
'gDay' => $date,
'gMonth' => $date
));
}
echo "ok";
?>
--EXPECTF--
2023-10-14T13:37:42.123400+02:002023-10-14+02:002023-10+02:002023+02:00--10-14+02:00---14+02:00--10--+02:00
object(stdClass)#%d (8) {
["dateTime"]=>
string(32) "2023-10-14T13:37:42.123400+02:00"
["time"]=>
string(21) "13:37:42.123400+02:00"
["date"]=>
string(16) "2023-10-14+02:00"
["gYearMonth"]=>
string(13) "2023-10+02:00"
["gYear"]=>
string(10) "2023+02:00"
["gMonthDay"]=>
string(13) "--10-14+02:00"
["gDay"]=>
string(11) "---14+02:00"
["gMonth"]=>
string(12) "--10--+02:00"
}
2023-10-14T13:37:42.123400+02:002023-10-14+02:002023-10+02:002023+02:00--10-14+02:00---14+02:00--10--+02:00
object(stdClass)#%d (%d) {
["dateTime"]=>
string(32) "2023-10-14T13:37:42.123400+02:00"
["time"]=>
string(21) "13:37:42.123400+02:00"
["date"]=>
string(16) "2023-10-14+02:00"
["gYearMonth"]=>
string(13) "2023-10+02:00"
["gYear"]=>
string(10) "2023+02:00"
["gMonthDay"]=>
string(13) "--10-14+02:00"
["gDay"]=>
string(11) "---14+02:00"
["gMonth"]=>
string(12) "--10--+02:00"
}
2023-10-14T13:37:42.123400Z2023-10-14Z2023-10Z2023Z--10-14Z---14Z--10--Z
object(stdClass)#%d (%d) {
["dateTime"]=>
string(27) "2023-10-14T13:37:42.123400Z"
["time"]=>
string(16) "13:37:42.123400Z"
["date"]=>
string(11) "2023-10-14Z"
["gYearMonth"]=>
string(8) "2023-10Z"
["gYear"]=>
string(5) "2023Z"
["gMonthDay"]=>
string(8) "--10-14Z"
["gDay"]=>
string(6) "---14Z"
["gMonth"]=>
string(7) "--10--Z"
}
ok