System.Time

old-time-1.1.0.3: Time library

Copyright | (c) The University of Glasgow 2001
License | BSD-style (see the file libraries/old-time/LICENSE)
Maintainer | libraries@haskell.org
Stability | provisional
Portability | portable
Safe Haskell | Trustworthy
Language | Haskell2010

System.Time

Contents

- Clock times
- Time differences
- Calendar times

Description

The standard time library from Haskell 98. This library is deprecated, please look at `Data.Time` in the `time` package instead.

System.Time provides 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

- data ClockTime = TOD Integer Integer
- getClockTime :: IO ClockTime
- data TimeDiff = TimeDiff {
  - tdYear :: Int
  - tdMonth :: Int
  - tdDay :: Int
  - tdHour :: Int
  - tdMin :: Int
  - tdSec :: Int
  - tdPicosec :: Integer
  }
- noTimeDiff :: TimeDiff
- diffClockTimes :: ClockTime -> ClockTime -> TimeDiff
- addToClockTime :: TimeDiff -> ClockTime -> ClockTime
- normalizeTimeDiff :: TimeDiff -> TimeDiff
- timeDiffToString :: TimeDiff -> String
- formatTimeDiff :: TimeLocale -> String -> TimeDiff -> String
- data CalendarTime = CalendarTime {
  - ctYear :: Int
  - ctMonth :: Month
  - ctDay :: Int
  - ctHour :: Int
  - ctMin :: Int
  - ctSec :: Int
  - ctPicosec :: Integer
  - ctWDay :: Day
  - ctYDay :: Int
  - ctTZName :: String
  - ctTZ :: Int
  - ctIsDST :: Bool
  }
- data Month
  - = January
  - | February
  - | March
  - | April
  - | May
  - | June
  - | July
  - | August
  - | September
  - | October
  - | November
  - | December
- data Day
  - = Sunday
  - | Monday
  - | Tuesday
  - | Wednesday
  - | Thursday
  - | Friday
  - | Saturday
- toCalendarTime :: ClockTime -> IO CalendarTime
- toUTCTime :: ClockTime -> CalendarTime
- toClockTime :: CalendarTime -> ClockTime
- calendarTimeToString :: CalendarTime -> String
- formatCalendarTime :: TimeLocale -> String -> CalendarTime -> String

# Clock times

data ClockTime #

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.

Instances

Eq ClockTime # |
Methods (==) :: ClockTime -> ClockTime -> Bool # (/=) :: ClockTime -> ClockTime -> Bool #
Ord ClockTime # |
Methods compare :: ClockTime -> ClockTime -> Ordering # (<) :: ClockTime -> ClockTime -> Bool # (<=) :: ClockTime -> ClockTime -> Bool # (>) :: ClockTime -> ClockTime -> Bool # (>=) :: ClockTime -> ClockTime -> Bool # max :: ClockTime -> ClockTime -> ClockTime # min :: ClockTime -> ClockTime -> ClockTime #
Show ClockTime # |
Methods showsPrec :: Int -> ClockTime -> ShowS # show :: ClockTime -> String # showList :: [ClockTime] -> ShowS #

getClockTime :: IO ClockTime #

# Time differences

data TimeDiff #

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

Instances

Eq TimeDiff # |
Methods (==) :: TimeDiff -> TimeDiff -> Bool # (/=) :: TimeDiff -> TimeDiff -> Bool #
Ord TimeDiff # |
Methods compare :: TimeDiff -> TimeDiff -> Ordering # (<) :: TimeDiff -> TimeDiff -> Bool # (<=) :: TimeDiff -> TimeDiff -> Bool # (>) :: TimeDiff -> TimeDiff -> Bool # (>=) :: TimeDiff -> TimeDiff -> Bool # max :: TimeDiff -> TimeDiff -> TimeDiff # min :: TimeDiff -> TimeDiff -> TimeDiff #
Read TimeDiff # |
Methods readsPrec :: Int -> ReadS TimeDiff # readList :: ReadS [TimeDiff] # readPrec :: ReadPrec TimeDiff # readListPrec :: ReadPrec [TimeDiff] #
Show TimeDiff # |
Methods showsPrec :: Int -> TimeDiff -> ShowS # show :: TimeDiff -> String # showList :: [TimeDiff] -> ShowS #

noTimeDiff :: TimeDiff #

null time difference.

diffClockTimes :: ClockTime -> ClockTime -> TimeDiff #

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

addToClockTime :: TimeDiff -> ClockTime -> ClockTime #

``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 -> TimeDiff #

converts a time difference to normal form.

timeDiffToString :: TimeDiff -> String #

formats time differences using local conventions.

formatTimeDiff :: TimeLocale -> String -> TimeDiff -> String #

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 #

`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

Instances

Eq CalendarTime # |
Methods (==) :: CalendarTime -> CalendarTime -> Bool # (/=) :: CalendarTime -> CalendarTime -> Bool #
Ord CalendarTime # |
Methods compare :: CalendarTime -> CalendarTime -> Ordering # (<) :: CalendarTime -> CalendarTime -> Bool # (<=) :: CalendarTime -> CalendarTime -> Bool # (>) :: CalendarTime -> CalendarTime -> Bool # (>=) :: CalendarTime -> CalendarTime -> Bool # max :: CalendarTime -> CalendarTime -> CalendarTime # min :: CalendarTime -> CalendarTime -> CalendarTime #
Read CalendarTime # |
Methods readsPrec :: Int -> ReadS CalendarTime # readList :: ReadS [CalendarTime] # readPrec :: ReadPrec CalendarTime # readListPrec :: ReadPrec [CalendarTime] #
Show CalendarTime # |
Methods showsPrec :: Int -> CalendarTime -> ShowS # show :: CalendarTime -> String # showList :: [CalendarTime] -> ShowS #

data Month #

A month of the year.

Constructors

January |
February |
March |
April |
May |
June |
July |
August |
September |
October |
November |
December |

Instances

Bounded Month # |
Methods minBound :: Month # maxBound :: Month #
Enum Month # |
Methods succ :: Month -> Month # pred :: Month -> Month # toEnum :: Int -> Month # fromEnum :: Month -> Int # enumFrom :: Month -> [Month] # enumFromThen :: Month -> Month -> [Month] # enumFromTo :: Month -> Month -> [Month] # enumFromThenTo :: Month -> Month -> Month -> [Month] #
Eq Month # |
Methods (==) :: Month -> Month -> Bool # (/=) :: Month -> Month -> Bool #
Ord Month # |
Methods compare :: Month -> Month -> Ordering # (<) :: Month -> Month -> Bool # (<=) :: Month -> Month -> Bool # (>) :: Month -> Month -> Bool # (>=) :: Month -> Month -> Bool # max :: Month -> Month -> Month # min :: Month -> Month -> Month #
Read Month # |
Methods readsPrec :: Int -> ReadS Month # readList :: ReadS [Month] # readPrec :: ReadPrec Month # readListPrec :: ReadPrec [Month] #
Show Month # |
Methods showsPrec :: Int -> Month -> ShowS # show :: Month -> String # showList :: [Month] -> ShowS #
Ix Month # |
Methods range :: (Month, Month) -> [Month] # index :: (Month, Month) -> Month -> Int # unsafeIndex :: (Month, Month) -> Month -> Int inRange :: (Month, Month) -> Month -> Bool # rangeSize :: (Month, Month) -> Int # unsafeRangeSize :: (Month, Month) -> Int

data Day #

A day of the week.

Constructors

Sunday |
Monday |
Tuesday |
Wednesday |
Thursday |
Friday |
Saturday |

Instances

Bounded Day # |
Methods minBound :: Day # maxBound :: Day #
Enum Day # |
Methods succ :: Day -> Day # pred :: Day -> Day # toEnum :: Int -> Day # fromEnum :: Day -> Int # enumFrom :: Day -> [Day] # enumFromThen :: Day -> Day -> [Day] # enumFromTo :: Day -> Day -> [Day] # enumFromThenTo :: Day -> Day -> Day -> [Day] #
Eq Day # |
Methods (==) :: Day -> Day -> Bool # (/=) :: Day -> Day -> Bool #
Ord Day # |
Methods compare :: Day -> Day -> Ordering # (<) :: Day -> Day -> Bool # (<=) :: Day -> Day -> Bool # (>) :: Day -> Day -> Bool # (>=) :: Day -> Day -> Bool # max :: Day -> Day -> Day # min :: Day -> Day -> Day #
Read Day # |
Methods readsPrec :: Int -> ReadS Day # readList :: ReadS [Day] # readPrec :: ReadPrec Day # readListPrec :: ReadPrec [Day] #
Show Day # |
Methods showsPrec :: Int -> Day -> ShowS # show :: Day -> String # showList :: [Day] -> ShowS #
Ix Day # |
Methods range :: (Day, Day) -> [Day] # index :: (Day, Day) -> Day -> Int # unsafeIndex :: (Day, Day) -> Day -> Int inRange :: (Day, Day) -> Day -> Bool # rangeSize :: (Day, Day) -> Int # unsafeRangeSize :: (Day, Day) -> Int

toCalendarTime :: ClockTime -> IO CalendarTime #

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 -> CalendarTime #

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

toClockTime :: CalendarTime -> ClockTime #

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

calendarTimeToString :: CalendarTime -> String #

formats calendar times using local conventions.

formatCalendarTime :: TimeLocale -> String -> CalendarTime -> String #

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