File: Time.hs

package info (click to toggle)
haskell-debian 3.64-3
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 364 kB
  • sloc: haskell: 3,226; ansic: 8; makefile: 3
file content (24 lines) | stat: -rw-r--r-- 749 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
module Debian.Time where

import Data.Time
import Data.Time.Clock.POSIX
import System.Locale (defaultTimeLocale)
import System.Posix.Types

-- * Time Helper Functions

rfc822DateFormat :: String
rfc822DateFormat = "%a, %d %b %Y %T %z"

epochTimeToUTCTime :: EpochTime -> UTCTime
epochTimeToUTCTime = posixSecondsToUTCTime . fromIntegral . fromEnum

formatTimeRFC822 :: (FormatTime t) => t -> String
formatTimeRFC822 = formatTime defaultTimeLocale rfc822DateFormat

parseTimeRFC822 :: (ParseTime t) => String -> Maybe t
parseTimeRFC822 = parseTime defaultTimeLocale rfc822DateFormat

getCurrentLocalRFC822Time :: IO String
getCurrentLocalRFC822Time = getCurrentTime >>= utcToLocalZonedTime >>= return . formatTime defaultTimeLocale rfc822DateFormat