timezone-series: Enhanced timezone handling for Data.Time

[ bsd3, data, library ] [ Propose Tags ] [ Report a vulnerability ]

This package endows Data.Time, from the time package, with several data types and functions for enhanced processing of timezones. For one way to create timezone series, see the timezone-olson (http://hackage.haskell.org/package/timezone-olson) and timezone-olson-th (http://hackage.haskell.org/package/timezone-olson-th) packages.


[Skip to Readme]

Modules

[Index] [Quick Jump]

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0, 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.1.5, 0.1.5.1, 0.1.6, 0.1.6.1, 0.1.8, 0.1.9, 0.1.13 (info)
Dependencies base (>=4.4 && <5), deepseq, time (>=1.1.4 && <1.9 || >=1.9.1 && <1.14) [details]
Tested with ghc >7.4 && <8.5
License BSD-3-Clause
Copyright Copyright (c) 2010-2021 Yitzchak Gale. All rights reserved.
Author Yitzchak Gale
Maintainer yitz@sefer.org
Revised Revision 1 made by YitzGale at 2021-12-26T00:31:09Z
Category Data
Home page http://projects.haskell.org/time-ng/
Source repo head: git clone https://github.com/ygale/timezone-series.git
Uploaded by YitzGale at 2021-12-26T00:29:33Z
Distributions Arch:0.1.13, FreeBSD:0.1.5.1, LTSHaskell:0.1.13, NixOS:0.1.13, Stackage:0.1.13, openSUSE:0.1.13
Reverse Dependencies 12 direct, 4 indirect [details]
Downloads 21700 total (81 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2021-12-26 [all 1 reports]

Readme for timezone-series-0.1.13

[back to package description]

timezone-series

On Hackage: timezone-series

This package endows Data.Time, from the time package, with several additional data types for enhanced processing of timezones.

A 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.

A ZoneSeriesTime is a moment in time within a specific timezone. It is different than a Data.Time.ZonedTime in that a ZonedTime specifies 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 ZonedTime to 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 a 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 /usr/share/zoneinfo/ or /etc/zoneinfo/ (or some other directory) for other timezones. See the timezone-olson and timezone-olson-th packages for more information about reading and creating Olson timezone files.

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.