Re: Issue with finding next DST change, date math error?

[email protected] (Anthony Ball)
Newsgroups perl.datetime
Message-ID <CAP0x8ucFRQ5KLP0Ya2YMuFMwrB_vH7oC6Ou-KQJAiZ9kYSL8Hw@mail.gmail.com>
Excellent, thanks for the explanation, should be an easy enough fix (should
actually simplify the code)

On Fri, May 25, 2012 at 11:16 AM, Zefram <[email protected]> wrote:

> Anthony Ball wrote:
> >So is that a bug in DateTime?
>
> No, it's just one of the ways in which date `arithmetic' isn't.
>
> >                              If I subtract one epoch time from another
> and
> >add shouldn't they end up together?
>
> The form of epoch seconds implemented by DateTime doesn't count
> leap seconds.  So in the time scale supplied by DateTime it is *not*
> a linear count of elapsed seconds from a starting point.  However,
> DateTime *does* supply some facilities that operate on linear seconds.
> You have presumably mixed the two kinds of operation.
>
> To get arithmetic to work as you expect, you can work entirely in
> epoch seconds.  Do your arithmetic on the numerical values, never on
> DateTime objects.  Use DateTime to convert the resulting values to
> objects, which you can then feed to DT:TZ objects.  This is appropriate
> for your application.  The alternative, to work in linear seconds (as
> perceived by DT), wouldn't be any better, because timezone objects at
> best just ignore the leap seconds that that would make visible to them.
>
> -zefram
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.