time-hourglass-0.3.0: A simple and efficient time library
Copyright(c) 2015 Nicolas DI PRIMA <nicolas@di-prima.fr>
LicenseBSD-style
Safe HaskellNone
LanguageHaskell2010

Time.Compat

Description

Basic time conversion compatibility.

This module aims to help conversion between types from time package and types from the time-hourglass package.

An example of use (taken from file examplesExampleTime/Compat.hs):

import Data.Hourglass as H
import Time.Compat as C
import Data.Time as T

transpose :: T.ZonedTime -> H.LocalTime H.DateTime
transpose oldTime = H.localTime
  offsetTime
  (H.DateTime newDate timeofday)
 where
  T.ZonedTime (T.LocalTime day tod) (T.TimeZone tzmin _ _) = oldTime

  newDate :: H.Date
  newDate = C.dateFromMJDEpoch $ T.toModifiedJulianDay day

  timeofday :: H.TimeOfDay
  timeofday = C.diffTimeToTimeOfDay $ toRational $ T.timeOfDayToTime tod

  offsetTime = H.TimezoneOffset $ fromIntegral tzmin
Synopsis

Documentation

dateFromUnixEpoch Source #

Arguments

:: Integer

Number of days since the Unix epoch (1970-01-01 00:00:00 UTC).

-> Date 

Given an integer which represents the number of days since the Unix epoch (1970-01-01 00:00:00 UTC), yield the corresponding date in the proleptic Gregorian calendar.

dateFromMJDEpoch Source #

Arguments

:: Integer

Number of days since 1858-11-17 00:00:00 UTC.

-> Date 

Given an integer which represents the number of days since the Modified Julian Date (MJD) epoch (1858-11-17 00:00:00 UTC), yields the corresponding date in the proleptic Gregorian calendar.

This function allows a user to convert a Day into Date.

import qualified Data.Time.Calendar as T

timeDay :: T.Day

dateFromMJDEpoch $ T.toModifiedJulianDay timeDay

diffTimeToTimeOfDay Source #

Arguments

:: Real t 
=> t

Number of non-leap seconds of the time of the day.

-> TimeOfDay 

Given a real number representing the number of non-leap seconds since the start of the day, yield a TimeOfDay value (assuming no leap seconds).

Example with DiffTime type from package time:

import qualified Data.Time.Clock as T

difftime :: T.DiffTime

diffTimeToTimeOfDay difftime

Example with the TimeOfDay type from package time:

import qualified Data.Time.Clock as T

timeofday :: T.TimeOfDay

diffTimeToTimeOfDay $ T.timeOfDayToTime timeofday