Bug #16536 Updated: Give me inconsisten results
| From: | hholzgra@php.net | Date: | Thu, 11 Apr 2002 18:34:58 +0000 |
| Subject: | Bug #16536 Updated: Give me inconsisten results | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-4690@lists.php.net to get a copy of this message | ||
ID: 16536
Updated by: hholzgra@php.net
Reported By: james@jimijon.com
-Status: Open
+Status: Bogus
Bug Type: Date/time related
Operating System: mac os x
PHP Version: 4.1.2
New Comment:
The bug system is not the appropriate forum for asking support
questions. For a list of a range of more appropriate places to ask
for help using PHP, please visit http://www.php.net/support.php
Previous Comments:
------------------------------------------------------------------------
[2002-04-11 14:28:48] james@jimijon.com
$today_var = getdate();
$today_sec =
mktime(0,0,0,date("m"),date("d"),date("Y"),1);
$offset = ($today_var['wday']-0) * 86400 ;
$first_day = $today_sec - $offset;
$this_week_first_date = date("ymd",
$first_day);
$path=$this_week_first_date;
Still gives the wrong result.. Doesn't anybody have a reliable piece of
code to Get the Sunday of the current week, this week it should be the
7th not the 6th!
Now this week however this code works:
date("ymd",
mktime(0,0,0,$mnth,$dy-date("w",mktime(0,0,0,$mnth,$dy,$yr)),$yr))
What gives? A real piece of code that works reliably still needed for
me and for sure everybody.
------------------------------------------------------------------------
[2002-04-11 12:59:47] hholzgra@php.net
Guess it worked last week only due to the daylight saving switch which
compensated an off-by-one error in your code.
*Every* piece of code that uses mktime(0,0,0,...) and
addition or subtraction of multiples of 86400 has to
check for daylight saving time switches or use the optional 7th
parameter to mktime() to be correct
this database is full of user bugs related to this issue
------------------------------------------------------------------------
[2002-04-11 11:36:14] james@jimijon.com
No, just trying to get a consistently working numeric date for the
Sunday of that week. yymmdd
Though a previos algorithm I had:
echo "last sunday: ".date("ymd",
mktime(0,0,0,$mnth,$dy-date("w",mktime(0,0,0,$mnth,$dy,$yr)),$yr))."<br
is working this week properly, but has in the past worked inproperly..
there is something really goofy going on with the date math in php.
Anyone have a ultra reliable Sunday of the Week algorithm?
------------------------------------------------------------------------
[2002-04-11 05:35:21] hholzgra@php.net
daylight saving time?!
use mktime(12,0,0,...) if you are interested in the date only
------------------------------------------------------------------------
[2002-04-10 16:43:37] james@jimijon.com
#get the numeric sunday
$today_var = getdate();
$today_sec =
mktime(0,0,0,date("m"),date("d"),date("Y"));
$offset = $today_var[wday] * 86400 ;
$first_day = $today_sec - $offset;
$this_week_first_date = date("ymd", $first_day);
$path=$this_week_first_date;
this just won't get me Sunday this week.. 020407
suddenly at midnight on Monday the 8th it went to 06, this has been
running fine for many many weeks now.
Help
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=16536&edit=1