ID: 38154 Updated by: [EMAIL PROTECTED] Reported By: dave at smartboy dot com -Status: Open +Status: Feedback Bug Type: Date/time related Operating System: Windows XP PHP Version: 5.1.4 New Comment:
Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://snaps.php.net/win32/php5.2-win32-latest.zip Not reproducible. Previous Comments: ------------------------------------------------------------------------ [2006-09-18 06:48:33] [EMAIL PROTECTED] Unassigning as this has nothing to do with the date code. ------------------------------------------------------------------------ [2006-07-23 04:07:27] dave at smartboy dot com Changed test_filemtime.php to: <?php echo filemtime($_SERVER["SCRIPT_FILENAME"]) . "\n"; date_default_timezone_set("UTC"); echo filemtime($_SERVER["SCRIPT_FILENAME"]) . "\n"; Output is: $ php test_filemtime.php 1153659348 1153659348 So, the return from filemtime() is not affected by the date.timezone setting. However the value is out by 9 hours. This is the expected return value: $ stat -c%Z test_filemtime.php 1153626948 (this matches very closely the output of date +%s, as I had just saved the file when running the above command) And the difference is 9 hours $ echo $((1153659348-1153626948)) 32400 $ echo $((9*3600)) 32400 ------------------------------------------------------------------------ [2006-07-22 08:33:08] [EMAIL PROTECTED] Can you get rid of the date() calls so that we can rule out that that is the problem and not filemtime? ------------------------------------------------------------------------ [2006-07-22 01:41:08] dave at smartboy dot com Setting date.timezone does not change the behaviour. Changing the sample script to: <?php echo "default timezone: " . date_default_timezone_get() . "\n"; date_default_timezone_set("Australia/Brisbane"); echo "default timezone: " . date_default_timezone_get() . "\n"; echo date('Y-m-d H:i:s', filemtime($_SERVER["SCRIPT_FILENAME"])) . "\n"; produces this output: $ php test_filemtime.php default timezone: Australia/Melbourne default timezone: Australia/Brisbane 2006-07-22 20:35:22 Which is still 9 hours greater than it should be. When using Apache2 SAPI, the following (correct) output is generated: default timezone: Australia/Melbourne default timezone: Australia/Brisbane 2006-07-22 11:35:22 Changing "Australia/Brisbane" to "UTC" changes the time that is printed, however there is still a 9 hour difference between the value printed by CLI (2006-07-22 10:39:47) and the value printed by Apache2 SAPI (2006-07-22 01:39:47) ------------------------------------------------------------------------ [2006-07-20 15:20:07] [EMAIL PROTECTED] Set date.timezone to your timezone. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/38154 -- Edit this bug report at http://bugs.php.net/?id=38154&edit=1