#33671 [Opn->Bgs]: sun_rise and sun_set don't return a GMT timestamp if one passes an offset
| From: | golf at dds dot nl | Date: | Tue, 12 Jul 2005 23:08:23 +0000 |
| Subject: | #33671 [Opn->Bgs]: sun_rise and sun_set don't return a GMT timestamp if one passes an offset | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-81779@lists.php.net to get a copy of this message | ||
ID: 33671
User updated by: golf at dds dot nl
Reported By: golf at dds dot nl
-Status: Open
+Status: Bogus
Bug Type: Date/time related
Operating System: Linux Debian
PHP Version: 5.0.4
New Comment:
After re-reading the source in the bug-report I now see that I passed
$long and $lat where I should have passed $longitude, $latitude. I
changed the code and now every thing seems oke...
Sorry for the hassle made by this report but I realy missed this typo.
Regards,
Golf
P.S. I tryd to add a comment to this bugreport (twice) but it didn't
show up, so if there are more than one...
Previous Comments:
------------------------------------------------------------------------
[2005-07-13 00:53:07] golf at dds dot nl
Description:
------------
With my current version of PHP5 (5.0.4-0.6.sarge.1 (Debian GNU/Linux) I
run into an error if I use date_sunrise and date_sunset. This happens
when I pass an GMT offset and results in a timestamp that has an offset
of +1 hour to the actual sun set/rise on that date. Since timestamps are
GMT/UTC and not bound to an timezone other that GMT/UTC this is wrong. I
say this since I believe the GMT offset one can pass to the before
mentioned functions is used in the calculation and the functions should
return a timestamp like any other so it can be used by date and gmdate
as those functions require a GMT/UTC timestamp...
B.t.w. I use the max difference for some further calculations in my
script, so there for the lage difference between astro and official
sunset's/rises...
Reproduce code:
---------------
$latitude = 28 + (1/60*17) + (1/60/60*54);
$longitude = (-(16 + (1/60*30) + (1/60/60*34)));
$astro = 108;
$official = (90 + (1/60*50));
echo "Local Tenerife time<br>\n";
echo "sunriseAstro = " . gmdate("M d Y H:i:s", date_sunrise(1121208238,
SUNFUNCS_RET_TIMESTAMP, $long, $lat, $astro, 1) + 60*60) . "<br>\n";
echo "sunriseOffical = " . gmdate("M d Y H:i:s",
date_sunrise(1121208238, SUNFUNCS_RET_TIMESTAMP, $long, $lat, $official
, 1) + 60*60) . "<br>\n";
echo "sunsetOffical = " . gmdate("M d Y H:i:s", date_sunset(1121208238,
SUNFUNCS_RET_TIMESTAMP, $long, $lat, $official, 1) + 60*60) . "<br>\n";
echo "sunsetAstro = " . gmdate("M d Y H:i:s", date_sunset(1121208238,
SUNFUNCS_RET_TIMESTAMP, $long, $lat, $astro, 1) + 60*60) . "<p>\n";
Expected result:
----------------
Local Tenerife time
sunriseAstro = Jul 12 2005 05:47:50
sunriseOffical = Jul 12 2005 07:02:02
sunsetOffical = Jul 12 2005 19:09:17
sunsetAstro = Jul 12 2005 20:23:27
Actual result:
--------------
Local Tenerife time
sunriseAstro = Jul 12 2005 06:47:50
sunriseOffical = Jul 12 2005 08:02:02
sunsetOffical = Jul 12 2005 20:09:17
sunsetAstro = Jul 12 2005 21:23:27
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=33671&edit=1