Doc #53662 [Tbd->Csd]: strtotime() returns inconsistent output on 64 bit systems
| From: | frozenfire@php.net | Date: | Sun, 03 Jul 2011 00:41:42 +0000 |
| Subject: | Doc #53662 [Tbd->Csd]: strtotime() returns inconsistent output on 64 bit systems | ||
| References: | 1 | Groups: | php.doc.bugs |
| Request: | Send a blank email to doc-bugs+get-6821@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=53662&edit=1
ID: 53662
Updated by: frozenfire@php.net
Reported by: smenjas at gmail dot com
Summary: strtotime() returns inconsistent output on 64 bit
systems
-Status: To be documented
+Status: Closed
Type: Documentation Problem
Package: Date/time related
Operating System: Ubuntu 10.10
PHP Version: 5.3.4
-Assigned To:
+Assigned To: frozenfire
Block user comment: N
Private report: N
New Comment:
This bug has been fixed in the documentation's XML sources. Since the
online and downloadable versions of the documentation need some time
to get updated, we would like to ask you to be a bit patient.
Thank you for the report, and for helping us make our documentation better.
Previous Comments:
------------------------------------------------------------------------
[2011-01-24 18:25:10] vita10gy at charter dot net
Damn.
Well then I second adding some sort of strict date option to the server config options where
2010-08-36 and 0000-00-00 are NOT valid, since documented or not, we could debate if that's a
bug or a feature. :)
------------------------------------------------------------------------
[2011-01-24 18:10:38] vita10gy at charter dot net
If you pass the returned timestamp back to date() you get -0001-11-30 00:00:00
0 might be a valid year, 0 isn't a valid month or day.
Database dates can be nothing or 0000-00-00 00:00:00 if null isn't allowed, so the easiest
check for both is to see if strtotime === false, or not. Obviously there are workarounds, but
depending on the feasibility of changing lots of legacy code, this could be a show stopper for
upgrading.
0000-00-00 00:00:00 is a nonsensical date and the timestamp returned is nonsense. Please return
false.
Pretty please? :)
------------------------------------------------------------------------
[2011-01-24 18:07:51] tjw at tjw dot org
Nevermind, I see this underflow/overflow behavior is documented here http://us2.php.net/manual/en/datetime.formats.date.php.
It might be nice if there were a "strict" option to turn this behavior off, but
that's another story.
------------------------------------------------------------------------
[2011-01-24 18:03:04] tjw at tjw dot org
Shouldn't "0000-00-00 00:00:00" return false because there is no 00 month or 00 day
in any month?
------------------------------------------------------------------------
[2011-01-06 11:44:08] pajoye@php.net
Blog post are not documentation, if the docs do not have this info then let mark
this bug as "to be documented".
------------------------------------------------------------------------
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=53662
--
Edit this bug report at https://bugs.php.net/bug.php?id=53662&edit=1