Safe Haskell  SafeInfered 

 data TimeZone = TimeZone {}
 timeZoneOffsetString :: TimeZone > String
 timeZoneOffsetString' :: NumericPadOption > TimeZone > String
 minutesToTimeZone :: Int > TimeZone
 hoursToTimeZone :: Int > TimeZone
 utc :: TimeZone
 getTimeZone :: UTCTime > IO TimeZone
 getCurrentTimeZone :: IO TimeZone
 data TimeOfDay = TimeOfDay {}
 midnight :: TimeOfDay
 midday :: TimeOfDay
 makeTimeOfDayValid :: Int > Int > Pico > Maybe TimeOfDay
 utcToLocalTimeOfDay :: TimeZone > TimeOfDay > (Integer, TimeOfDay)
 localToUTCTimeOfDay :: TimeZone > TimeOfDay > (Integer, TimeOfDay)
 timeToTimeOfDay :: DiffTime > TimeOfDay
 timeOfDayToTime :: TimeOfDay > DiffTime
 dayFractionToTimeOfDay :: Rational > TimeOfDay
 timeOfDayToDayFraction :: TimeOfDay > Rational
 data LocalTime = LocalTime {}
 utcToLocalTime :: TimeZone > UTCTime > LocalTime
 localTimeToUTC :: TimeZone > LocalTime > UTCTime
 ut1ToLocalTime :: Rational > UniversalTime > LocalTime
 localTimeToUT1 :: Rational > LocalTime > UniversalTime
 data ZonedTime = ZonedTime {}
 utcToZonedTime :: TimeZone > UTCTime > ZonedTime
 zonedTimeToUTC :: ZonedTime > UTCTime
 getZonedTime :: IO ZonedTime
 utcToLocalZonedTime :: UTCTime > IO ZonedTime
Time zones
A TimeZone is a whole number of minutes offset from UTC, together with a name and a "just for summer" flag.
TimeZone  

timeZoneOffsetString :: TimeZone > StringSource
Text representing the offset of this timezone, such as "0800" or "+0400" (like %z in formatTime)
timeZoneOffsetString' :: NumericPadOption > TimeZone > StringSource
Text representing the offset of this timezone, such as "0800" or "+0400" (like %z in formatTime), with arbitrary padding
minutesToTimeZone :: Int > TimeZoneSource
Create a nameless nonsummer timezone for this number of minutes
hoursToTimeZone :: Int > TimeZoneSource
Create a nameless nonsummer timezone for this number of hours
getTimeZone :: UTCTime > IO TimeZoneSource
Get the local timezone for a given time (varying as per summertime adjustments)
getCurrentTimeZone :: IO TimeZoneSource
Get the current timezone
Time of day
Time of day as represented in hour, minute and second (with picoseconds), typically used to express local time of day.
utcToLocalTimeOfDay :: TimeZone > TimeOfDay > (Integer, TimeOfDay)Source
Convert a ToD in UTC to a ToD in some timezone, together with a day adjustment.
localToUTCTimeOfDay :: TimeZone > TimeOfDay > (Integer, TimeOfDay)Source
Convert a ToD in some timezone to a ToD in UTC, together with a day adjustment.
timeToTimeOfDay :: DiffTime > TimeOfDaySource
Get a TimeOfDay given a time since midnight. Time more than 24h will be converted to leapseconds.
timeOfDayToTime :: TimeOfDay > DiffTimeSource
Find out how much time since midnight a given TimeOfDay is.
dayFractionToTimeOfDay :: Rational > TimeOfDaySource
Get a TimeOfDay given the fraction of a day since midnight.
timeOfDayToDayFraction :: TimeOfDay > RationalSource
Get the fraction of a day since midnight given a TimeOfDay.
Local Time
A simple day and time aggregate, where the day is of the specified parameter, and the time is a TimeOfDay. Conversion of this (as local civil time) to UTC depends on the time zone. Conversion of this (as local mean time) to UT1 depends on the longitude.
utcToLocalTime :: TimeZone > UTCTime > LocalTimeSource
show a UTC time in a given time zone as a LocalTime
localTimeToUTC :: TimeZone > LocalTime > UTCTimeSource
find out what UTC time a given LocalTime in a given time zone is
ut1ToLocalTime :: Rational > UniversalTime > LocalTimeSource
1st arg is observation meridian in degrees, positive is East
localTimeToUT1 :: Rational > LocalTime > UniversalTimeSource
1st arg is observation meridian in degrees, positive is East
A local time together with a TimeZone.
utcToZonedTime :: TimeZone > UTCTime > ZonedTimeSource