--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