old-time-1.0.0.0: Time library.

Portabilityportable
Stabilityprovisional
Maintainerlibraries@haskell.org

System.Time

Contents

Description

The standard Time library, providing standard functionality for clock times, including timezone information (i.e, the functionality of "time.h", adapted to the Haskell environment). It follows RFC 1129 in its use of Coordinated Universal Time (UTC).

Synopsis

Clock times

data ClockTime Source

A representation of the internal clock time. Clock times may be compared, converted to strings, or converted to an external calendar time CalendarTime for I/O or other manipulations.

Constructors

TOD Integer Integer

Construct a clock time. The arguments are a number of seconds since 00:00:00 (UTC) on 1 January 1970, and an additional number of picoseconds.

In Haskell 98, the ClockTime type is abstract.

getClockTime :: IO ClockTimeSource

returns the current time in its internal representation.

Time differences

data TimeDiff Source

records the difference between two clock times in a user-readable way.

Constructors

TimeDiff 

Fields

tdYear :: Int
 
tdMonth :: Int
 
tdDay :: Int
 
tdHour :: Int
 
tdMin :: Int
 
tdSec :: Int
 
tdPicosec :: Integer
 

noTimeDiff :: TimeDiffSource

null time difference.

diffClockTimes :: ClockTime -> ClockTime -> TimeDiffSource

diffClockTimes t1 t2 returns the difference between two clock times t1 and t2 as a TimeDiff.

addToClockTime :: TimeDiff -> ClockTime -> ClockTimeSource

addToClockTime d t adds a time difference d and a clock time t to yield a new clock time. The difference d may be either positive or negative.

normalizeTimeDiff :: TimeDiff -> TimeDiffSource

converts a time difference to normal form.

timeDiffToString :: TimeDiff -> StringSource

formats time differences using local conventions.

formatTimeDiff :: TimeLocale -> String -> TimeDiff -> StringSource

formats time differences using local conventions and a formatting string. The formatting string is that understood by the ISO C strftime() function.

Calendar times

data CalendarTime Source

CalendarTime is a user-readable and manipulable representation of the internal ClockTime type.

Constructors

CalendarTime 

Fields

ctYear :: Int

Year (pre-Gregorian dates are inaccurate)

ctMonth :: Month

Month of the year

ctDay :: Int

Day of the month (1 to 31)

ctHour :: Int

Hour of the day (0 to 23)

ctMin :: Int

Minutes (0 to 59)

ctSec :: Int

Seconds (0 to 61, allowing for up to two leap seconds)

ctPicosec :: Integer

Picoseconds

ctWDay :: Day

Day of the week

ctYDay :: Int

Day of the year (0 to 364, or 365 in leap years)

ctTZName :: String

Name of the time zone

ctTZ :: Int

Variation from UTC in seconds

ctIsDST :: Bool

True if Daylight Savings Time would be in effect, and False otherwise

data Day Source

A day of the week.

toCalendarTime :: ClockTime -> IO CalendarTimeSource

converts an internal clock time to a local time, modified by the timezone and daylight savings time settings in force at the time of conversion. Because of this dependence on the local environment, toCalendarTime is in the IO monad.

toUTCTime :: ClockTime -> CalendarTimeSource

converts an internal clock time into a CalendarTime in standard UTC format.

toClockTime :: CalendarTime -> ClockTimeSource

converts a CalendarTime into the corresponding internal ClockTime, ignoring the contents of the ctWDay, ctYDay, ctTZName and ctIsDST fields.

calendarTimeToString :: CalendarTime -> StringSource

formats calendar times using local conventions.

formatCalendarTime :: TimeLocale -> String -> CalendarTime -> StringSource

formats calendar times using local conventions and a formatting string. The formatting string is that understood by the ISO C strftime() function.