|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #77896 DateInterval::createFromDateString() no longer supports relative formats
Submitted: 2019-04-15 12:59 UTC Modified: 2021-04-06 19:04 UTC
Avg. Score:4.0 ± 1.0
Reproduced:2 of 2 (100.0%)
Same Version:1 (50.0%)
Same OS:0 (0.0%)
From: renan-sub at protonmail dot com Assigned: derick (profile)
Status: Not a bug Package: Date/time related
PHP Version: 7.3.4 OS:
Private report: No CVE-ID: None
 [2019-04-15 12:59 UTC] renan-sub at protonmail dot com
When calling DateInterval::createFromDateString() with "6 years and 4 months" as argument, it generates a warning. (See

Note: as a workaround (for the case mentioned) I'm using new \DateInterval('P6Y4M')

Test script:

var_dump(\DateInterval::createFromDateString('6 years and 4 months'));

Expected result:
object(DateInterval)#1 (16) {
    ["y"]=> int(6)
    ["m"]=> int(4)
    ["d"]=> int(0)
    ["h"]=> int(0)
    ["i"]=> int(0)
    ["s"]=> int(0)
    ["f"]=> float(0)
    ["weekday"]=> int(0)
    ["weekday_behavior"]=> int(0)
    ["first_last_day_of"]=> int(0)
    ["invert"]=> int(0)
    ["days"]=> bool(false)
    ["special_type"]=> int(0)
    ["special_amount"]=> int(0)
    ["have_weekday_relative"]=> int(0)
    ["have_special_relative"]=> int(0)

Actual result:
Warning: DateInterval::createFromDateString(): Unknown or bad format (6 years and 4 months) at position 8 (a)


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2019-04-15 13:02 UTC]
-Assigned To: +Assigned To: derick
 [2019-04-15 13:06 UTC] renan-sub at protonmail dot com
It also fails in 7.2.17
 [2019-04-15 15:48 UTC]
"and" (where the parsing fails) should probably then be added to the docs as a supported/ignored word.
 [2019-04-18 10:02 UTC]
It's not particularly about "and", see <>.
 [2019-04-19 08:12 UTC] a at b dot c dot de
But leaving it out entirely is fine:
 [2021-04-06 19:04 UTC]
-Status: Assigned +Status: Not a bug
 [2021-04-06 19:04 UTC]
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at and the instructions on how to report
a bug at

"and" in between was never supported here.
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Mon May 20 20:01:32 2024 UTC