MyNixOS website logo
Description

Enhanced timezone handling for Data.Time.

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.

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.

Metadata

Version

0.1.13

Platforms (77)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-windows
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows