When converting time from UTC to local time, Windows uses the *current* state of daylight saving, not one that was active at the time the original timestamp is "pointing" to.
On 08/27/2013 01:55 PM, Frank Hemer wrote: > On Tuesday 27 August 2013 10:19:06 Calogero Mauceri wrote: >> On 8/26/2013 7:30 PM, Thiago Macieira wrote: >>> On segunda-feira, 26 de agosto de 2013 17:42:58, Calogero Mauceri wrote: >>>> QDateTime myDateTime = QDateTime::fromTime_t(f_mtime); >>>> >>>> The date time printed doing a myDateTime.toString() is >>>> >>>> Wed Dec 5 12:36:18 2007 >>>> >>>> Retrieving the last modified information using QFileInfo, the result is >>>> different >>>> >>>> QFileInfo fi(filepath); >>>> QDateTime myDateTime = fi.lastModified(); >>>> >>>> I get this result >>>> >>>> Wed Dec 5 11:36:18 2007 >>>> >>>> That is there is one hour difference. I guess the difference is due to >>>> the daylight saving management, >>>> but I can not understand how that management is performed. >>>> >>>> Note: if I look at the file properties on Windows dialog, the last >>>> modified time is shown as >>>> >>>> Wed Dec 5 12:36:18 2007 >>> >>> Ah, Windows... >>> >>> The problem might be simply a matter of timezones. The timestamps on files >>> on Windows are not stored with time_t, but with some Windows-specific >>> data. We get a FILETIME back from Win32. >>> >>> Anyway, up until Qt 5.2, you cannot trust the output of a QDateTime with >>> qDebug since it does not include the timezone. You have to ensure that the >>> >>> dates you're comparing by text are in the same timezone: >>> qDebug() << dt.toUTC(); >> >> Thanks for your reply. >> >> Unfortunately the problem is still there even if I force a toUTC() >> conversion for both QDateTime, either the one initialized from time_t or >> the one returned by QFileInfo :/. >> Similarly >> >> QDateTime dtFromTime_t = QDateTime::fromTime_t(mtime).toUTC(); >> QDateTime dtFromFileInfo = fi.lastModified().toUTC(); >> int sec = ABS(dtFromTime.secsTo(dtFromFileInfo)); // sec returned >> is 3600 > > Daylight savings handling in windows is somehow 'weird'. > The timestamps of files change when switching the system time from summer > time > to winter time and vice versa. > > Frank
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest