Req #70381 [Opn]: Support comparing DateInterval objects
| From: | requinix@php.net | Date: | Thu, 10 Sep 2015 19:52:41 +0000 |
| Subject: | Req #70381 [Opn]: Support comparing DateInterval objects | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-195950@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=70381&edit=1
ID: 70381
Updated by: requinix@php.net
Reported by: accido at ukr dot net
Summary: Support comparing DateInterval objects
Status: Open
Type: Feature/Change Request
Package: Date/time related
Operating System: Xubuntu 14
PHP Version: 5.6.13RC1
Block user comment: N
Private report: N
New Comment:
Ha, that's true. And it makes sense since it's not always possible to determine the number
of days in an arbitrary interval. That could be a problem when trying to compare two DateIntervals
in a general sense, though: what is P30D <=> P1M?
A better approach here would be to compare the start date + interval <=> end date.
Previous Comments:
------------------------------------------------------------------------
[2015-09-10 13:54:16] john_zuk at wp dot pl
You can't use ->days as a workaround, because of:
http://php.net/manual/en/class.dateinterval.php#dateinterval.props.days
See: https://3v4l.org/nlH2v
------------------------------------------------------------------------
[2015-08-28 11:45:43] requinix@php.net
DateIntervals are not comparable. You can use ->days as a workaround.
https://3v4l.org/H7JsN
------------------------------------------------------------------------
[2015-08-28 10:48:17] accido at ukr dot net
Description:
------------
Wrong DateInterval comparsion result
Test script:
---------------
$a = new DateTime('1981-10-10');
$b = new DateTime('1980-10-01');
$m = new DateInterval('P1M');
var_dump($a->diff($b) > $m);
//bool(false)
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=70381&edit=1