Edit report at http://bugs.php.net/bug.php?id=53148&edit=1
ID: 53148
User updated by: sec at mboca dot com
Reported by: sec at mboca dot com
Summary: date_sunrise and date_sunset show tomorrow's times
for some timezones.
Status: Open
Type: Bug
-Package: Math related
+Package: *Calendar problems
Operating System: linux and windows
PHP Version: 5.2.14 and 5.3.3
Block user comment: N
New Comment:
I figured out a workaround to this bug.
you have to add -1 day to subtract one day from sunrise and sunset
times.
if ($offset >= 12 && strcmp(date_default_timezone_get(),
"Pacific/Tarawa") != 0) {
echo "+12 GMT workaround done<br>";
$sunrise = strtotime('-1 day', $sunrise);
$sunset = strtotime('-1 day', $sunset);
$csunrise = strtotime('-1 day', $csunrise);
$csunset = strtotime('-1 day', $csunset);
$nsunrise = strtotime('-1 day', $nsunrise);
$nsunset = strtotime('-1 day', $nsunset);
$asunrise = strtotime('-1 day', $asunrise);
$asunset = strtotime('-1 day', $asunset);
}
I need to test on time zones that are -12 in offsets
might have to do +1 day on that offset.
Previous Comments:
------------------------------------------------------------------------
[2010-10-28 06:33:38] sec at mboca dot com
It happens on php 5.3.3 too.
------------------------------------------------------------------------
[2010-10-28 06:32:07] sec at mboca dot com
This bug also happens on php 5.3.3 with same configure line in my post
above.
------------------------------------------------------------------------
[2010-10-25 03:44:01] sec at mboca dot com
Description:
------------
when you try to get sunrise and sunset times from the area that have GMT
+12 or over. the sunrise and sunset times will be listed for next day.
The sunrise and sunset times should be listed for today.
http://weatherpixel.com/bug.php
the source code is at http://weatherpixel.com/bug.php?src=show
one of the examples that the Fiji Island times would only show for
tomorrow and
my script would show it as night as always.
http://weatherpixel.com/sunrise_gmt.php?station=NFFN
Here is my configure line for linux:
./configure --enable-sockets --enable-calendar --with-curl=/usr/lib/
--with-gd --with-jpeg-dir=/usr/local/lib --with-png-dir=/usr/local/lib
--with-ttf --enable-gd-native-ttf --with-gettext
--with-freetype-dir=/usr/local/lib --without-sqlite --without-pdo-sqlite
--with-apxs2=/usr/local/apache2/bin/apxs
Test script:
---------------
here is php script that reproduce the date_sunrise
http://weatherpixel.com/bug.php?src=show
Expected result:
----------------
the times for +12 GMT and more than +12 GMT will always show tomorrow's
sunrise and sunset times.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/bug.php?id=53148&edit=1