Bug #76374 [Opn->Asn]: Date difference varies according day time

From: Date: Mon, 28 May 2018 17:38:36 +0000
Subject: Bug #76374 [Opn->Asn]: Date difference varies according day time
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-215398@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=76374&edit=1

 ID:                 76374
 Updated by:         derick@php.net
 Reported by:        fcasadei at fcpartner dot com
 Summary:            Date difference varies according day time
-Status:             Open
+Status:             Assigned
 Type:               Bug
 Package:            Date/time related
 Operating System:   linux & windows
 PHP Version:        7.0.30
-Assigned To:        
+Assigned To:        derick
 Block user comment: N
 Private report:     N

 New Comment:

Considering that the author is European (me), I can assure you there is nothing US centric here.

However, there does seem to be a bug, as it should indeed say 9 in each case.

Assigning to myself.


Previous Comments:
------------------------------------------------------------------------
[2018-05-28 13:41:31] fcasadei at fcpartner dot com

thanks
but with ("date.timezone", "Europe/Paris"), back to 8 and 9 !!
 
Is PHP another american centric stuff ?

ini_set("date.timezone", "Europe/Paris");
$objDateTo = new dateTime('2017-10-01');
$objDateFrom = new dateTime('2017-01-01');
$interval = $objDateTo->diff($objDateFrom);
echo $interval->m;
$objDateTo = new dateTime('2017-10-01 00:00:00');
$objDateFrom = new dateTime('2017-01-01 00:00:00');
$interval = $objDateTo->diff($objDateFrom);
echo $interval->m;
$objDateTo = new dateTime('2017-10-01 12:00:00');
$objDateFrom = new dateTime('2017-01-01 12:00:00');
$interval = $objDateTo->diff($objDateFrom);
echo $interval->m;

gives 889 !!
12 hours make a month ???

------------------------------------------------------------------------
[2018-05-26 14:15:00] rauljosesantos at gmail dot com

If you define your timezone:

ini_set("date.timezone", "GMT");

Both work nicely

https://3v4l.org/SuVe2

ini_set("date.timezone", "GMT");
$objDateTo = new dateTime('2017-10-01')
$objDateFrom = new dateTime('2017-01-01
$interval = $objDateTo->diff($objDateFr
echo "Date Only: " . $interval->m . "\r
$objDateTo = new dateTime('2017-10-01 1
$objDateFrom = new dateTime('2017-01-01
$interval = $objDateTo->diff($objDateFr
echo "Date and Time: " . $interval->m;

------------------------------------------------------------------------
[2018-05-26 13:18:19] fcasadei at fcpartner dot com

In France, I don't know exactly.

------------------------------------------------------------------------
[2018-05-26 12:35:52] a at b dot c dot de

I get 8 in both cases (more precisely, 8 months, 30 days - just shy of nine months).

When exactly does Daylight Saving start in your locale?

------------------------------------------------------------------------
[2018-05-24 15:47:53] fcasadei at fcpartner dot com

Description:
------------
---
From manual page: http://www.php.net/datetime.diff
---

$objDateTo = new dateTime('2017-10-01');
$objDateFrom = new dateTime('2017-01-01');
$interval = $objDateTo->diff($objDateFrom);
echo $interval->m;

will display 8

$objDateTo = new dateTime('2017-10-01 12:00:00');
$objDateFrom = new dateTime('2017-01-01 12:00:00');
$interval = $objDateTo->diff($objDateFrom);
echo $interval->m;

will display 9

Expected result:
----------------
Should be 9 in both cases



------------------------------------------------------------------------



--
Edit this bug report at https://bugs.php.net/bug.php?id=76374&edit=1


Thread (10 messages)

« previous php.bugs (#215398) next »