On Hackage: timezone-series
This package endows
Data.Time, from the time package, with several
additional data types for enhanced processing of timezones.
TimeZoneSeries represents a timezone. It describes the timezone with
a set of
Data.Time.TimeZone objects, each describing the clock setting
in the timezone for a specific period of history during which the
clocks do not change. The
TimeZoneSeries as a whole describes what
clock setting was in effect in the timezone at any given time during
the period it covers.
ZoneSeriesTime is a moment in time within a specific timezone. It
is different than a
Data.Time.ZonedTime in that a
a moment in time for a specific way that the clocks were set in a
timezone. It is the responsibilty of the creator of a
verify that given clock setting was actually in effect at the given
moment in time. A
ZonedTime for one moment in time cannot be used
reliably on its own to create another
ZonedTime for a different moment
in the same timezone - information is needed about what clock setting
was in effect in the timezone at the new moment.
This package also provides variants for the functions in Data.Time
that convert between UTC time and local time. These variants take
TimeZoneSeries, representing a timezone, not just a specific
clock setting with the timezone, so the correctness of their results
does not depend on independent knowledge of what clock setting
was in effect at the given time.
Most operating systems provide information about timezone series for
the local timezone and for many other timezones of the world. On MS
Windows systems, this information can be read from the registry. On
other systems, this information is typically provided in the form of
Olson timezone files:
/etc/localtime (or some other file) for the
local timezone, and files located in
/etc/zoneinfo/ (or some other directory) for other timezones.
packages for more information about reading and creating Olson
Copyright (c) 2010-2021 Yitzchak Gale. All rights reserved.
For licensing information, see the BSD3-style license in the file LICENSE that was originally distributed by the author together with this file.
This package is part of the time-ng project.