[fpc-devel] NowUTC in the RTL

Tomas Hajny XHajT03 at hajny.biz
Fri Dec 9 15:46:47 CET 2011


On Fri, December 9, 2011 13:47, Michael Van Canneyt wrote:
> On Fri, 9 Dec 2011, Tomas Hajny wrote:
>> On Fri, December 9, 2011 13:07, Jonas Maebe wrote:
>>> On 09 Dec 2011, at 12:28, Michael Van Canneyt wrote:
>>>
>>>> The linux kernel returns UTC time, it always has. Now() converts
>>>> this to local time.
>>>> (as does libc). All NowUTC needs to do is return the kernel time.
>>>
>>> It should only be called NowUTC if it is defined as always returning
>>> UTC on all platforms.
>>
>> Obviously assuming that something like that is possible on a certain
>> platform at all (GO32v2 not having the TZ environment variable defined
>> will simply never be able to provide UTC time; in fact, the same applies
>> for OS/2 / eCS too).
>
> I do not think the Go32V2 environment needs to be considered.
> It stems from an age where the difference in timezones was irrelevant on a
> PC.
>
> There are much more functions that perform strangely - if at all - in
> go32V2.
> It doesn't even have threading multi-tasking or multi-user support.
> Nonetheless we introduced already lots of functions that assume this,
> and no-one so much as squeaked then.
> For a function as NowUTC I do not think we should start pulling this
> argument.
>
> As far as I know, Windows and all Unix-like OSes support returning UTC.
> I know nothing about OS/2-eCS, but the same arguments as for Go32V2 apply
> as far as I am concerned. If all these platforms can guarantee returning
> correct UTC time, I do not see why we would not introduce it.

That was not meant as argument against introducing NowUTC, but rather just
a comment that your stated goal of providing UTC everywhere may not be
met. I don't have any objections.

Tomas





More information about the fpc-devel mailing list