[fpc-devel] Problem with Now() and time changed by ntpd

zeljko zeljko at holobit.net
Fri Nov 4 07:55:02 CET 2011


On Thursday 03 of November 2011 21:30:19 Sven Barth wrote:
> Am 02.11.2011 19:25, schrieb Ludo Brands:
> > Apparently not everything is that transparent under windows:
> > http://msdn.microsoft.com/en-us/library/windows/desktop/ms724944%28v=vs.8
> > 5%2 9.aspx
> > 
> > "To inform Explorer that the time zone has changed, send the
> > WM_SETTINGCHANGE message."
> 
> WM_SETTINGCHANGE simply notifies you that the user changed the time
> zone, because otherwise you might not be able to detect that (except you
> read the settings from the registry yourself).
> 
> > Or:
> > 
> > http://channel9.msdn.com/coding4fun/articles/Changing-time-zones
> > 
> > "By itself, changing the time zone doesn't have any apparent effect
> > except in new processes.  In order to see the change, you need to send a
> > system notification message.  This notification is made by calling
> > SendMessageTimeout with WM_SettingChange and a parameter of "intl". "
> 
> This is wrong. Changing the timezone effects e.g. all following calls to
> GetLocalTime. See the following example program:
> 
> === source begin ===
> 
> program timezonetest;
> 
> {$apptype console}
> {$mode objfpc}{$H+}
> 
> uses
>    SysUtils;
> 
> begin
>    Writeln(FormatDateTime('c', Now));
>    Writeln('Please change the timezone and then press enter');
>    Readln;
>    Writeln(FormatDateTime('c', Now));
>    Writeln('Done');
>    Readln;
> end.
> 
> === source end ===
> 
> As you see there is no message processing.
> 
> My normal timezone is Berlin. Now I've run the program and changed the
> timezone to Greenland (-3h). The output was the following:
> 
> === output begin ===
> 
> 03.11.2011 21:16:33
> Please change the timezone and then press enter
> 
> 03.11.2011 17:17:10
> Done
> 
> === output end ===
> 
> So your link which talks about "only affects new processes" is proven
> wrong.

But this is on windows ? On linux it does not work without re-reading tzdata.

zeljko
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20111104/945f9adb/attachment.html>


More information about the fpc-devel mailing list