|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #33789 Many Problems with SunFuncs
Submitted: 2005-07-20 16:55 UTC Modified: 2006-01-04 22:41 UTC
From: Assigned: derick (profile)
Status: Closed Package: Date/time related
PHP Version: 5CVS-2005-12-19 (cvs) OS: *
Private report: No CVE-ID: None
 [2005-07-20 16:55 UTC]
With sunfuncs (date_sunrise, date_sunset)

When I do date_sunset(time(), 46.49, -71.14, 90); (I forgot the output format). The server seems to be frozen and I can't load another page before I restart Apache...
Even with this line (with the output format) : echo date_sunset(time(), 1,  -71.14, 90, 90);

When asking for a String format, if the var "ret" is near 00:00 and adding a gmt negative (see sunfuncs.c), the output will be bad (-3:-3) (because of the gmt_offset).
because the line
sprintf(retstr, "%02d:%02d", N, (int) (60 * (ret - (double) N)));
doesn't care about negative or positive values
You should add
if(ret < 0){
    ret += 24;
(almost the same as #31853 but negative values appears on string and double)

In doc, it should explain a little more the decimal values for latitude, is it minutes (60 based) or 100 based.
Moreover, I spent time to realize that zenith was the angle for the sun when it is on the horizon (so almost always 90), it should be written in the doc.


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2005-07-20 16:58 UTC]
assert happens for 
php_sunrise_sunset( 201, -71.14, 90, 90, 1)
(UTx != UT)
 [2005-07-20 19:46 UTC]
uh oh...
Check the return of 
You have corrected it little time ago BUT now it seems that GMT is substracted twice. I receive the sunset at 16:24 and supposed to be at 20:24 (I receive 20:24 if I put the SUNFUNCS_RET_STRING with ret+=24). 

echo date("H:i", date_sunset(time(), 0, 46.49, -71.14, 90.0));
 [2006-01-04 22:41 UTC]
This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
Thank you for the report, and for helping us make PHP better.

Fixed for 5.1.2 and later
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Apr 12 13:01:33 2024 UTC