[squeak-dev] Re: [Pharo-project] Epoch returns local offset

Eliot Miranda eliot.miranda at gmail.com
Thu May 17 17:29:38 UTC 2012


On Wed, May 16, 2012 at 5:26 PM, David T. Lewis <lewis at mail.msen.com> wrote:

> (cross posting to squeak-dev)
>
> On Wed, May 16, 2012 at 01:50:16PM -0700, Sean P. DeNigris wrote:
> >
> > David T. Lewis wrote
> > >
> > > So no, it is not a constant.
> > >
> >
> > Let me rephrase: wouldn't it be better if it was a constant, like dos and
> > unix?
>
> Yes it would be better if the Smalltalk epoch was an unambiguously defined
> value, but unfortunately it is not. That is the reason that the clearly
> defined Posix epoch would be a more suitable basis for these calculations.
>

I don't understand.  What is ambiguous about the start of the 20-th century
in GMT?


>
> <ot>
> Funny that you should mention DOS. DOS has exactly the same problem
> as Squeak/Pharo in this regard. It was originally designed as a simple
> single-user system, where the user was expected to set the clock properly
> on all of his/her alarm clocks, kitchen appliances, and computers. It
> has no knowledge of time zones or daylight savings time, and this leads
> to all sorts of bugs in applications running on MS-DOS that assume that
> the system time is correct. I was dealing with a real-life bug of this
> sort last week that had people spending huge amounts of time and energy
> trying to figure out what was causing clocks to be "reset" in a complex
> multi-platform application that happened to include some old DOS based
> computers that were sending time stamped messages.
> </ot>
>
> > I find the current behavior confusing e.g.
> >
> > dt := '1/15/2012 0000+00:00' asDateAndTime.
> >
> > DateAndTime localTimeZone: (TimeZone timeZones detect: [ :e | e
> abbreviation
> > = 'PDT' ]).
> > s := dt asSeconds. "3504013200"
> >
> > "Now I move to Greenwich"
> > DateAndTime localTimeZone: (TimeZone timeZones detect: [ :e | e
> abbreviation
> > = 'UTC' ]).
> > DateAndTime fromSeconds: s. "2012-01-14T17:00:00+00:00" "Oops!"
> >
>
> Yes, that looks broken to me too. But DateAndTime class>>fromSeconds: is
> documented as "Answer a DateAndTime since the Squeak epoch: 1 January 1901"
> which by definition cannot be correctly implemented.
>
> One solution would be to gain agreement among all flavors of Smalltalk
> as to the proper definition of the Smalltalk epoch. But it seems to me
> that it would be vastly simpler to just use a definition that is already
> agreed and documented (i.e. Posix epoch), and leave the "Smalltalk epoch"
> behind as an interesting historical artifact.
>
> Dave
>
>
>


-- 
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20120517/96b9e632/attachment.htm


More information about the Squeak-dev mailing list