ID: 6425 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Closed Bug Type: Date/time related Operating System: Windows NT 4.0 Workstation PHP Version: 4.0.1pl2 New Comment:
This condition still exists in 4.1.2 I'm using Win2K Advanced Server with uptodate patchs (as of 1-April-2002). Tested with snipers test loop. Trying: 1970-01-01 ... Warning: unexpected error in date() in c:\inetpub\wwwroot\entry_exam\testdate.php on line 5 Trying: 1971-01-01 ... January 1, 1971 Trying: 1972-01-01 ... January 1, 1972 . . . Trying: 2038-01-01 ... January 1, 2038 Trying: 2039-01-01 ... Warning: unexpected error in date() in c:\inetpub\wwwroot\entry_exam\testdate.php on line 5 Previous Comments: ------------------------------------------------------------------------ [2000-12-07 11:35:12] [EMAIL PROTECTED] No feedback. ------------------------------------------------------------------------ [2000-11-02 15:12:24] [EMAIL PROTECTED] could you plese try the dev build from php4win.de and report wheter this is fixed? ------------------------------------------------------------------------ [2000-09-06 17:16:51] [EMAIL PROTECTED] reclassified.. ------------------------------------------------------------------------ [2000-09-06 17:15:54] [EMAIL PROTECTED] User feedback: --------------------------- I was actually contacted on this issue once, and sent a corrected reply as follows. Keep in mind, this issue only occurs in _Windows_ versions of PHP including PHP 4.0.1pl2 and 4.0.2. UNIX varients do not seem effected.: I've written a specific script to show this issue: --- cut --- <?php for ( $i = 1900; $i < 2050; $i++) { $datep = "$i-01-01"; print "Trying: $datep ... "; print date("F j, Y", strtotime($datep)); print "<BR>"; // For clean display sake only } ?> --- cut --- I also tested this with dates in 12-31, and 1969 failed, so 1970-01-01 is the lowest possible date: --- cut --- Trying: 1900-01-01 ... Warning: unexpected error in date() in d:\fhirsch\mysite\testdate.php on line 6 Trying: 1901-01-01 ... Warning: unexpected error in date() in d:\fhirsch\mysite\testdate.php on line 6 Trying: 1902-01-01 ... Warning: unexpected error in date() in d:\fhirsch\mysite\testdate.php on line 6 . . . Trying: 1969-01-01 ... Warning: unexpected error in date() in d:\fhirsch\mysite\testdate.php on line 6 Trying: 1970-01-01 ... January 1, 1970 Trying: 1971-01-01 ... January 1, 1971 Trying: 1972-01-01 ... January 1, 1972 Trying: 1973-01-01 ... January 1, 1973 Trying: 1974-01-01 . . . Trying: 2038-01-01 ... January 1, 2038 Trying: 2039-01-01 ... Warning: unexpected error in date() in d:\fhirsch\mysite\testdate.php on line 6 Trying: 2040-01-01 ... Warning: unexpected error in date() in d:\fhirsch\mysite\testdate.php on line 6 ... January 1, 1974 --- cut --- It seems likely that the date() function uses internal calls within the O/S somehow on Windows, as this would correlate to what Windows/MSDOS is (in)capable of doing. However, it hardly seems to be a desirable side-effect in a production quality programming language. Anyhow, let me know if there is other documentation you need from me. --------------------------------------- Editorial note: PLEASE answer next time using the web-interface.. =) --Jani ------------------------------------------------------------------------ [2000-09-05 19:43:17] [EMAIL PROTECTED] Your example code was buggy, below corrected one: <?php function parseDate($date,$format) { $dateString = date($format , strtotime($date)); return $dateString; } $db_birth_date = "1969-09-13 00:00:00"; $birth_date = parseDate($db_birth_date,"F j, Y"); echo $birth_date; ?> And this works just like it should (in Linux).. Please try this and report back. --Jani ------------------------------------------------------------------------ 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 http://bugs.php.net/6425 -- Edit this bug report at http://bugs.php.net/?id=6425&edit=1