#29205 [Fbk->NoF]: NaN in php_sunrise_sunset()
| From: | php-bugs at lists dot php dot net | Date: | Fri, 18 Mar 2005 00:00:06 +0000 |
| Subject: | #29205 [Fbk->NoF]: NaN in php_sunrise_sunset() | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-75448@lists.php.net to get a copy of this message | ||
ID: 29205
Updated by: php-bugs@lists.php.net
Reported By: bjdouma at xs4all dot nl
-Status: Feedback
+Status: No Feedback
Bug Type: Date/time related
Operating System: Linux 2.6.7
PHP Version: 5.0.0
Assigned To: momo
New Comment:
No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
Previous Comments:
------------------------------------------------------------------------
[2005-03-06 20:48:45] sniper@php.net
Please try using this CVS snapshot:
http://snaps.php.net/php5-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5-win32-latest.zip
------------------------------------------------------------------------
[2004-09-21 08:33:07] momo@php.net
date_sunrise(gmmktime(1,1,1,7,21,2004),SUNFUNCS_RET_STRING, 67, 0,
90.83);
returns 03:42 but yes i need to activate the check.
------------------------------------------------------------------------
[2004-07-16 11:54:17] bjdouma at xs4all dot nl
Description:
------------
Good morning,
Re. php-5.0.0
I noticed in sunfuncs.c/php_sunrise_sunset() there's this commented out
snippet:
/* XXX: What's the use of this block.. ?
* if (!calc_sunset && cosH > 1 || calc_sunset && cosH < -1) {
* throw doesnthappen();
* }
*/
What the 'if' clause actually would detect is cases where you have no
sunrise or sunset, i.e. during the midnight sun period, on the Northern
hemisphere around June 21st, above ca. 66.5 deg latitude.
For instance, try:
php_sunrise_sunset( 182, 66, 0, 90.83, 0 );
this should give a good value for sunrise, very early in the morning.
Now try
php_sunrise_sunset( 182, 67, 0, 90.83, 0 );
this should give NaN.
The reason is obvious: above ca. 66.56 deg latitude in the summer (here
day 182) you have the midnight sun period: the sun doesn't set and/or
rise.
However, this function isn't used anywhere -- is it?
--bjd
bjdouma@xs4all.nl
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=29205&edit=1