1--TEST-- 2GH-8458 (DateInterval::createFromDateString does not warn when non-relative items are present) 3--FILE-- 4<?php 5$formats = [ 6 'next weekday 15:30', 7 '+5 hours noon', 8 '-8 days March 23', 9 '+72 seconds UTC', 10]; 11 12foreach ($formats as $format) { 13 try { 14 $d = DateInterval::createFromDateString($format); 15 } catch (DateMalformedIntervalStringException $e) { 16 echo $e::class, ': ', $e->getMessage(), "\n"; 17 } 18} 19 20echo "====\n"; 21 22foreach ($formats as $format) { 23 $d = date_interval_create_from_date_string($format); 24} 25 26?> 27--EXPECTF-- 28DateMalformedIntervalStringException: String 'next weekday 15:30' contains non-relative elements 29DateMalformedIntervalStringException: String '+5 hours noon' contains non-relative elements 30DateMalformedIntervalStringException: String '-8 days March 23' contains non-relative elements 31DateMalformedIntervalStringException: String '+72 seconds UTC' contains non-relative elements 32==== 33 34Warning: date_interval_create_from_date_string(): String 'next weekday 15:30' contains non-relative elements in %s on line %d 35 36Warning: date_interval_create_from_date_string(): String '+5 hours noon' contains non-relative elements in %s on line %d 37 38Warning: date_interval_create_from_date_string(): String '-8 days March 23' contains non-relative elements in %s on line %d 39 40Warning: date_interval_create_from_date_string(): String '+72 seconds UTC' contains non-relative elements in %s on line %d 41