Doc->Bug #77001 [Opn->Dup]: Bug in date_add
| From: | cmb@php.net | Date: | Thu, 11 Oct 2018 14:18:45 +0000 |
| Subject: | Doc->Bug #77001 [Opn->Dup]: Bug in date_add | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-217518@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=77001&edit=1
ID: 77001
Updated by: cmb@php.net
Reported by: binhorbsoft at gmail dot com
Summary: Bug in date_add
-Status: Open
+Status: Duplicate
-Type: Documentation Problem
+Type: Bug
-Package: *General Issues
+Package: Date/time related
Operating System: Linux
PHP Version: 7.2.10
-Assigned To:
+Assigned To: cmb
Block user comment: N
Private report: N
New Comment:
This looks like a duplicate of bug #75642.
Previous Comments:
------------------------------------------------------------------------
[2018-10-11 13:58:45] binhorbsoft at gmail dot com
Description:
------------
---
From manual page: http://www.php.net/datetime.add
---
If the sum has fraction of a second, the method fails if the result of the fraction is exactly one
second. In other cases, it works well.
Test script:
---------------
<?php
$objDataHora = date_create("2017-12-31T23:59:59.200");
$objIntervalo = new DateInterval("PT0S");
$objIntervalo->f = 0.700;
$objDataHora = date_add($objDataHora, $objIntervalo);
$strDataHora = date_format($objDataHora, "Y-m-d\TH:i:s.v");
echo("<p>$strDataHora</p>\n"); // 2017-12-31T23:59:59.900 - it's OK, the
sum is correct
$objDataHora = date_create("2017-12-31T23:59:59.400");
$objIntervalo = new DateInterval("PT0S");
$objIntervalo->f = 0.700;
$objDataHora = date_add($objDataHora, $objIntervalo);
$strDataHora = date_format($objDataHora, "Y-m-d\TH:i:s.v");
echo("<p>$strDataHora</p>\n"); // 2018-01-01T00:00:00.100 - it's OK, the
sum is correct
$objDataHora = date_create("2017-12-31T23:59:59.300");
$objIntervalo = new DateInterval("PT0S");
$objIntervalo->f = 0.700;
$objDataHora = date_add($objDataHora, $objIntervalo);
$strDataHora = date_format($objDataHora, "Y-m-d\TH:i:s.v");
echo("<p>$strDataHora</p>\n"); // 2017-12-31T23:59:59.1000 - it isn't OK,
the sum is incorrect!
?>
Expected result:
----------------
In third echo: 2018-01-01T00:00:00.000
Actual result:
--------------
In third echo: 2017-12-31T23:59:59.1000
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=77001&edit=1