|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2005-07-13 01:08 UTC] golf at dds dot nl
[2005-07-13 02:35 UTC] golf at dds dot nl
[2005-07-13 07:45 UTC] derick@php.net
[2005-07-15 15:11 UTC] golf at dds dot nl
[2006-01-04 22:41 UTC] derick@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Nov 01 04:00:02 2025 UTC |
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