|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2017-10-24 07:50 UTC] kalle@php.net
-Status: Assigned
+Status: Open
-Assigned To: derick
+Assigned To:
[2018-01-26 19:15 UTC] mattleff at gmail dot com
[2018-02-12 15:27 UTC] cmb@php.net
-Status: Open
+Status: Analyzed
-Type: Bug
+Type: Documentation Problem
-Assigned To:
+Assigned To: cmb
[2018-02-12 15:27 UTC] cmb@php.net
[2018-02-12 17:19 UTC] cmb@php.net
[2018-02-12 17:20 UTC] cmb@php.net
-Status: Analyzed
+Status: Closed
[2018-02-12 17:20 UTC] cmb@php.net
[2020-02-07 06:05 UTC] phpdocbot@php.net
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Nov 01 18:00:01 2025 UTC |
Description: ------------ date_sunrise (date_sunset) incorrectly works with gmtoffset parameter. When i use SUNFUNCS_RET_TIMESTAMP, it ignores it and calculates date by adding UTC sunrise date and my location offset. When use SUNFUNCS_RET_STRING, all is ok. I don't checked SUNFUNCS_RET_DOUBLE. Reproduce code: --------------- <?php $lat = 43.1167; $lng = 131.9; //Vladivostok, Russia, UTC+10 date_default_timezone_set('Europe/Moscow'); //My location timezone, UTC+3 $zenith = 90+50/60; $offset = 10; //Vladivostok $sunrise_str = date_sunrise(time(),SUNFUNCS_RET_STRING,$lat,$lng,$zenith,$offset); $sunrise_time = date_sunrise (time(),SUNFUNCS_RET_TIMESTAMP,$lat,$lng,$zenith,$offset); echo "By string : $sunrise_str, by timestamp: ".date("Y-m-d H:i:s",$sunrise_time)."<br/>\n"; $offset = 0; //UTC $sunrise_str = date_sunrise(time(),SUNFUNCS_RET_STRING,$lat,$lng,$zenith,$offset); $sunrise_time = date_sunrise (time(),SUNFUNCS_RET_TIMESTAMP,$lat,$lng,$zenith,$offset); echo "By string : $sunrise_str, by timestamp: ".date("Y-m-d H:i:s",$sunrise_time)."<br/>\n"; $offset = 3; //UTC plus my timezone offset $sunrise_str = date_sunrise(time(),SUNFUNCS_RET_STRING,$lat,$lng,$zenith,$offset); $sunrise_time = date_sunrise (time(),SUNFUNCS_RET_TIMESTAMP,$lat,$lng,$zenith,$offset); echo "By string : $sunrise_str, by timestamp: ".date("Y-m-d H:i:s",$sunrise_time)."<br/>\n"; ?> Expected result: ---------------- By string : 08:16, by timestamp: 2008-11-25 08:16:18 By string : 22:16, by timestamp: 2008-11-24 22:16:18 By string : 01:16, by timestamp: 2008-11-25 01:16:18 Actual result: -------------- By string : 08:16, by timestamp: 2008-11-25 01:16:18 By string : 22:16, by timestamp: 2008-11-25 01:16:18 By string : 01:16, by timestamp: 2008-11-25 01:16:18