From:             marcello at vezz dot it
Operating system: Windows XP
PHP version:      5.2.6
PHP Bug Type:     Filesystem function related
Bug description:  filemtime reports time shifted by daylight saving hours

Description:
------------
I quote from Bug #40568:

PHP filemtime/fileatime/filectime (and maybe stat itself) functions
should use GetFileTime() Win32API (or GetFileAttributesEx()), not stat()
to retrieve the actual times from files. Otherwise the returned time is
shifted by one hour in some conditions.

This (mis)behaviour is actually DOCUMENTED by Microsoft, so it does not
qualify for "bogus - fix microsoft libraries" bug rejection -- Microsoft
already fixed their documentation and even indicated that "This behavior is
by design."

References:
http://support.microsoft.com/kb/158588
http://support.microsoft.com/kb/190315
http://msdn2.microsoft.com/en-gb/library/ms724290.aspx
http://us3.php.net/manual/en/function.stat.php#58404
http://www.codeproject.com/datetime/dstbugs.asp

Reproduce code:
---------------
<?php
  $fullfilename='test.dll';
  $ft=filemtime($fullfilename);
  touch($fullfilename.'.md5',$ft);
  $nt=filemtime($fullfilename.'.md5');
  echo $ft.' : '.$nt;
?>

Please get test.dll from http://www.vezz.it/php/test.zip

Original file modification date:
19 feb 2008, 19.08.47

Expected result:
----------------
filemtime should return the same result for the two files.

1203440927 : 1203440927 



Actual result:
--------------
1203440927 : 1203437327

The touched file date is one hour back.
19 feb 2008, 18.08.47 instead of 19 feb 2008, 19.08.47

-- 
Edit bug report at http://bugs.php.net/?id=45414&edit=1
-- 
Try a CVS snapshot (PHP 5.2): 
http://bugs.php.net/fix.php?id=45414&r=trysnapshot52
Try a CVS snapshot (PHP 5.3): 
http://bugs.php.net/fix.php?id=45414&r=trysnapshot53
Try a CVS snapshot (PHP 6.0): 
http://bugs.php.net/fix.php?id=45414&r=trysnapshot60
Fixed in CVS:                 http://bugs.php.net/fix.php?id=45414&r=fixedcvs
Fixed in release:             
http://bugs.php.net/fix.php?id=45414&r=alreadyfixed
Need backtrace:               http://bugs.php.net/fix.php?id=45414&r=needtrace
Need Reproduce Script:        http://bugs.php.net/fix.php?id=45414&r=needscript
Try newer version:            http://bugs.php.net/fix.php?id=45414&r=oldversion
Not developer issue:          http://bugs.php.net/fix.php?id=45414&r=support
Expected behavior:            http://bugs.php.net/fix.php?id=45414&r=notwrong
Not enough info:              
http://bugs.php.net/fix.php?id=45414&r=notenoughinfo
Submitted twice:              
http://bugs.php.net/fix.php?id=45414&r=submittedtwice
register_globals:             http://bugs.php.net/fix.php?id=45414&r=globals
PHP 4 support discontinued:   http://bugs.php.net/fix.php?id=45414&r=php4
Daylight Savings:             http://bugs.php.net/fix.php?id=45414&r=dst
IIS Stability:                http://bugs.php.net/fix.php?id=45414&r=isapi
Install GNU Sed:              http://bugs.php.net/fix.php?id=45414&r=gnused
Floating point limitations:   http://bugs.php.net/fix.php?id=45414&r=float
No Zend Extensions:           http://bugs.php.net/fix.php?id=45414&r=nozend
MySQL Configuration Error:    http://bugs.php.net/fix.php?id=45414&r=mysqlcfg

Reply via email to