[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