Bug #76848 [Nab->Opn]: Possible to create Datetime from wrong month day

From: Date: Fri, 25 Oct 2019 23:49:02 +0000
Subject: Bug #76848 [Nab->Opn]: Possible to create Datetime from wrong month day
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-223467@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=76848&edit=1 ID: 76848 User updated by: wojciech dot mocek at gmail dot com Reported by: wojciech dot mocek at gmail dot com Summary: Possible to create Datetime from wrong month day -Status: Not a bug +Status: Open Type: Bug Package: Date/time related Operating System: Linux -PHP Version: 7.1.21 +PHP Version: 7.3.11 Block user comment: N Private report: N New Comment: This bug occurs also on PHP 7.3.11. Previous Comments: ------------------------------------------------------------------------ [2019-10-25 23:40:42] wojciech dot mocek at gmail dot com You asked "should both evaluate to the same value, shouldn't they?". So the answer is: no, they should not. This is how it was solved in other object language: $ docker container run --rm -it openjdk jshell Oct 25, 2019 11:21:53 PM java.util.prefs.FileSystemPreferences$1 run INFO: Created user preferences directory. | Welcome to JShell -- Version 13.0.1 | For an introduction type: /help intro jshell> var dateA = java.time.LocalDate.parse("2018-01-31"); jshell> dateA.plusMonths(1) $2 ==> 2018-02-28 jshell> var dateB = java.time.LocalDate.parse("2018-02-31"); | Exception java.time.format.DateTimeParseException: Text '2018-02-31' could not be parsed: Invalid date 'FEBRUARY 31' (...) Do you agree that PHP DateTime class is class for handling date and time? If yes, then do you agree that it should behave according to real date&time? If yes, then do we have in our calendar date '2018-02-31'? ------------------------------------------------------------------------ [2018-11-21 15:10:06] cmb@php.net Obviously, new DateTime('2018-01-31 +1 month') and new DateTime('2018-02-31') should both evaluate to the same value, shouldn't they? ------------------------------------------------------------------------ [2018-11-21 15:05:30] wojciech dot mocek at gmail dot com What is the correlation between your question and reported bug? ------------------------------------------------------------------------ [2018-11-21 12:43:28] cmb@php.net And how should the following be handled? new DateTime('2018-01-31 +1 month') ------------------------------------------------------------------------ [2018-11-21 11:06:29] wojciech dot mocek at gmail dot com Open. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=76848 -- Edit this bug report at https://bugs.php.net/bug.php?id=76848&edit=1

« previous php.bugs (#223467) next »