PHP 4.0 Bug #8716 Updated: Error in date("j", <time>) or getdate(<time>) function

From: Date: Mon, 15 Jan 2001 17:08:28 +0000
Subject: PHP 4.0 Bug #8716 Updated: Error in date("j", <time>) or getdate(<time>) function
Groups: php.dev 
Request: Send a blank email to php-dev+get-44149@lists.php.net to get a copy of this message
ID: 8716 User Update by: ageorgou@filmnet.gr Status: Closed Bug Type: Date/time related Description: Error in date("j", <time>) or getdate(<time>) function date function doesn't give the same dates as it would expecte if we add the day seconds (86400) in a UNIX timestamp. I realised that these is because I didn't take any consideration of daylight time savings. <? $daySeconds = 86400; $time = 1004216400; echo "Day in 28 of October is " . date("j", $time) . "<BR>\n"; $time += $daySeconds; echo "Day in 29 of October is " . date("j", $time) . "<BR>\n"; $time += $daySeconds; echo "Day in 30 of October is " . date("j", $time) . "<BR>\n"; $time += $daySeconds; echo "Day in 31 of October is " . date("j", $time) . "<BR>\n"; ?> Previous Comments: --------------------------------------------------------------------------- [2001-01-15 12:08:06] rasmus@php.net Your starting timestamp is wrong. 1004216400 is a timestamp for the 27th of October. At least in my timezone. You may be in a different timezone where this falls right around midnight so you think it is on the 28th, but then daylight savings time may throw you off. If you are going to do math like this using timestamps pick a starting timestamp around noon so that the +-1 hour for daylight savings doesn't throw everything off on you. --------------------------------------------------------------------------- [2001-01-15 11:55:52] ageorgou@filmnet.gr <? echo "date function gives wrong day for dates between 28 and 31 of October on any yearn"; $daySeconds = 86400; $time = 1004216400; echo "Day in 28 of October is " . date("j", $time) . "<BR>n"; $time += $daySeconds; echo "Day in 29 of October is " . date("j", $time) . "<BR>n"; $time += $daySeconds; echo "Day in 30 of October is " . date("j", $time) . "<BR>n"; $time += $daySeconds; echo "Day in 31 of October is " . date("j", $time) . "<BR>n"; ?> Configure Line is ./configure' '--prefix=/usr' '--with-config-file-path=/etc' '--disable-debug' '--enable-pic' '--enable-shared' '--enable-inline-optimization' '--with-apxs=/usr/sbin/apxs' '--with-exec-dir=/usr/bin' '--with-regex=system' '--with-gettext' '--with-gd=shared' '--with-jpeg-dir=/usr' '--with-png' '--with-zlib' '--with-db2' '--with-db3' '--with-gdbm' '--enable-debugger' '--enable-magic-quotes' '--enable-safe-mode' '--enable-sysvsem' '--enable-sysvshm' '--enable-track-vars' '--enable-yp' '--enable-ftp' '--without-mysql' '--without-oracle' '--without-oci8' '--with-openssl' '--with-xml' --------------------------------------------------------------------------- Full Bug description available at: http://bugs.php.net/?id=8716

« previous php.dev (#44149) next »