module Data.Time.Format.Locale (
TimeLocale(..)
, defaultTimeLocale
, iso8601DateFormat
, rfc822DateFormat
)
where
import Data.Time.LocalTime.Internal.TimeZone
data TimeLocale = TimeLocale {
TimeLocale -> [(String, String)]
wDays :: [(String, String)],
TimeLocale -> [(String, String)]
months :: [(String, String)],
TimeLocale -> (String, String)
amPm :: (String, String),
TimeLocale -> String
dateTimeFmt, TimeLocale -> String
dateFmt,
TimeLocale -> String
timeFmt, TimeLocale -> String
time12Fmt :: String,
TimeLocale -> [TimeZone]
knownTimeZones :: [TimeZone]
} deriving (TimeLocale -> TimeLocale -> Bool
(TimeLocale -> TimeLocale -> Bool)
-> (TimeLocale -> TimeLocale -> Bool) -> Eq TimeLocale
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TimeLocale -> TimeLocale -> Bool
$c/= :: TimeLocale -> TimeLocale -> Bool
== :: TimeLocale -> TimeLocale -> Bool
$c== :: TimeLocale -> TimeLocale -> Bool
External instance of the constraint type Eq TimeZone
External instance of the constraint type Eq Char
External instance of the constraint type Eq Char
External instance of the constraint type forall a. Eq a => Eq [a]
External instance of the constraint type Eq Char
External instance of the constraint type forall a b. (Eq a, Eq b) => Eq (a, b)
External instance of the constraint type Eq TimeZone
External instance of the constraint type forall a. Eq a => Eq [a]
External instance of the constraint type Eq Char
External instance of the constraint type forall a b. (Eq a, Eq b) => Eq (a, b)
External instance of the constraint type forall a. Eq a => Eq [a]
External instance of the constraint type Eq Char
External instance of the constraint type forall a. Eq a => Eq [a]
External instance of the constraint type Eq Char
External instance of the constraint type forall a. Eq a => Eq [a]
External instance of the constraint type forall a. Eq a => Eq [a]
External instance of the constraint type forall a b. (Eq a, Eq b) => Eq (a, b)
External instance of the constraint type forall a. Eq a => Eq [a]
External instance of the constraint type Eq Char
External instance of the constraint type forall a. Eq a => Eq [a]
External instance of the constraint type Eq Char
Eq, Eq TimeLocale
Eq TimeLocale
-> (TimeLocale -> TimeLocale -> Ordering)
-> (TimeLocale -> TimeLocale -> Bool)
-> (TimeLocale -> TimeLocale -> Bool)
-> (TimeLocale -> TimeLocale -> Bool)
-> (TimeLocale -> TimeLocale -> Bool)
-> (TimeLocale -> TimeLocale -> TimeLocale)
-> (TimeLocale -> TimeLocale -> TimeLocale)
-> Ord TimeLocale
TimeLocale -> TimeLocale -> Bool
TimeLocale -> TimeLocale -> Ordering
TimeLocale -> TimeLocale -> TimeLocale
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: TimeLocale -> TimeLocale -> TimeLocale
$cmin :: TimeLocale -> TimeLocale -> TimeLocale
max :: TimeLocale -> TimeLocale -> TimeLocale
$cmax :: TimeLocale -> TimeLocale -> TimeLocale
>= :: TimeLocale -> TimeLocale -> Bool
$c>= :: TimeLocale -> TimeLocale -> Bool
> :: TimeLocale -> TimeLocale -> Bool
$c> :: TimeLocale -> TimeLocale -> Bool
<= :: TimeLocale -> TimeLocale -> Bool
$c<= :: TimeLocale -> TimeLocale -> Bool
< :: TimeLocale -> TimeLocale -> Bool
$c< :: TimeLocale -> TimeLocale -> Bool
compare :: TimeLocale -> TimeLocale -> Ordering
$ccompare :: TimeLocale -> TimeLocale -> Ordering
External instance of the constraint type Ord Char
External instance of the constraint type forall a. Ord a => Ord [a]
External instance of the constraint type Ord Char
External instance of the constraint type Ord TimeZone
External instance of the constraint type Ord Char
External instance of the constraint type Ord Char
External instance of the constraint type forall a. Ord a => Ord [a]
External instance of the constraint type Ord Char
External instance of the constraint type forall a b. (Ord a, Ord b) => Ord (a, b)
External instance of the constraint type Ord TimeZone
External instance of the constraint type forall a. Ord a => Ord [a]
External instance of the constraint type Ord Char
External instance of the constraint type forall a b. (Ord a, Ord b) => Ord (a, b)
External instance of the constraint type forall a. Ord a => Ord [a]
External instance of the constraint type Ord Char
External instance of the constraint type forall a. Ord a => Ord [a]
External instance of the constraint type Ord Char
External instance of the constraint type forall a. Ord a => Ord [a]
External instance of the constraint type forall a b. (Ord a, Ord b) => Ord (a, b)
External instance of the constraint type forall a. Ord a => Ord [a]
External instance of the constraint type Ord Char
External instance of the constraint type forall a. Ord a => Ord [a]
External instance of the constraint type Ord Char
External instance of the constraint type Ord TimeZone
External instance of the constraint type forall a. Ord a => Ord [a]
External instance of the constraint type Ord Char
External instance of the constraint type forall a b. (Ord a, Ord b) => Ord (a, b)
External instance of the constraint type forall a. Ord a => Ord [a]
External instance of the constraint type Ord Char
External instance of the constraint type forall a. Ord a => Ord [a]
External instance of the constraint type Ord Char
External instance of the constraint type forall a. Ord a => Ord [a]
External instance of the constraint type forall a. Ord a => Ord [a]
External instance of the constraint type forall a b. (Ord a, Ord b) => Ord (a, b)
External instance of the constraint type forall a. Ord a => Ord [a]
External instance of the constraint type Ord Char
External instance of the constraint type forall a. Ord a => Ord [a]
External instance of the constraint type Ord Char
Instance of class: Eq of the constraint type Eq TimeLocale
Instance of class: Ord of the constraint type Ord TimeLocale
Instance of class: Eq of the constraint type Eq TimeLocale
Ord, Int -> TimeLocale -> ShowS
[TimeLocale] -> ShowS
TimeLocale -> String
(Int -> TimeLocale -> ShowS)
-> (TimeLocale -> String)
-> ([TimeLocale] -> ShowS)
-> Show TimeLocale
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TimeLocale] -> ShowS
$cshowList :: [TimeLocale] -> ShowS
show :: TimeLocale -> String
$cshow :: TimeLocale -> String
showsPrec :: Int -> TimeLocale -> ShowS
$cshowsPrec :: Int -> TimeLocale -> ShowS
External instance of the constraint type Show TimeZone
External instance of the constraint type Show Char
External instance of the constraint type Show Char
External instance of the constraint type forall a. Show a => Show [a]
External instance of the constraint type Show Char
External instance of the constraint type forall a b. (Show a, Show b) => Show (a, b)
External instance of the constraint type Show TimeZone
External instance of the constraint type forall a. Show a => Show [a]
External instance of the constraint type Show Char
External instance of the constraint type forall a b. (Show a, Show b) => Show (a, b)
External instance of the constraint type forall a. Show a => Show [a]
External instance of the constraint type Show Char
External instance of the constraint type forall a. Show a => Show [a]
External instance of the constraint type Show Char
External instance of the constraint type forall a. Show a => Show [a]
External instance of the constraint type forall a. Show a => Show [a]
External instance of the constraint type forall a b. (Show a, Show b) => Show (a, b)
External instance of the constraint type forall a. Show a => Show [a]
External instance of the constraint type Show Char
External instance of the constraint type forall a. Show a => Show [a]
External instance of the constraint type Show Char
External instance of the constraint type Ord Int
Show)
defaultTimeLocale :: TimeLocale
defaultTimeLocale :: TimeLocale
defaultTimeLocale = TimeLocale :: [(String, String)]
-> [(String, String)]
-> (String, String)
-> String
-> String
-> String
-> String
-> [TimeZone]
-> TimeLocale
TimeLocale {
wDays :: [(String, String)]
wDays = [(String
"Sunday", String
"Sun"), (String
"Monday", String
"Mon"),
(String
"Tuesday", String
"Tue"), (String
"Wednesday", String
"Wed"),
(String
"Thursday", String
"Thu"), (String
"Friday", String
"Fri"),
(String
"Saturday", String
"Sat")],
months :: [(String, String)]
months = [(String
"January", String
"Jan"), (String
"February", String
"Feb"),
(String
"March", String
"Mar"), (String
"April", String
"Apr"),
(String
"May", String
"May"), (String
"June", String
"Jun"),
(String
"July", String
"Jul"), (String
"August", String
"Aug"),
(String
"September", String
"Sep"), (String
"October", String
"Oct"),
(String
"November", String
"Nov"), (String
"December", String
"Dec")],
amPm :: (String, String)
amPm = (String
"AM", String
"PM"),
dateTimeFmt :: String
dateTimeFmt = String
"%a %b %e %H:%M:%S %Z %Y",
dateFmt :: String
dateFmt = String
"%m/%d/%y",
timeFmt :: String
timeFmt = String
"%H:%M:%S",
time12Fmt :: String
time12Fmt = String
"%I:%M:%S %p",
knownTimeZones :: [TimeZone]
knownTimeZones =
[
Int -> Bool -> String -> TimeZone
TimeZone Int
0 Bool
False String
"UT",
Int -> Bool -> String -> TimeZone
TimeZone Int
0 Bool
False String
"GMT",
Int -> Bool -> String -> TimeZone
TimeZone (-Int
5 Int -> Int -> Int
forall a. Num a => a -> a -> a
External instance of the constraint type Num Int
* Int
60) Bool
False String
"EST",
Int -> Bool -> String -> TimeZone
TimeZone (-Int
4 Int -> Int -> Int
forall a. Num a => a -> a -> a
External instance of the constraint type Num Int
* Int
60) Bool
True String
"EDT",
Int -> Bool -> String -> TimeZone
TimeZone (-Int
6 Int -> Int -> Int
forall a. Num a => a -> a -> a
External instance of the constraint type Num Int
* Int
60) Bool
False String
"CST",
Int -> Bool -> String -> TimeZone
TimeZone (-Int
5 Int -> Int -> Int
forall a. Num a => a -> a -> a
External instance of the constraint type Num Int
* Int
60) Bool
True String
"CDT",
Int -> Bool -> String -> TimeZone
TimeZone (-Int
7 Int -> Int -> Int
forall a. Num a => a -> a -> a
External instance of the constraint type Num Int
* Int
60) Bool
False String
"MST",
Int -> Bool -> String -> TimeZone
TimeZone (-Int
6 Int -> Int -> Int
forall a. Num a => a -> a -> a
External instance of the constraint type Num Int
* Int
60) Bool
True String
"MDT",
Int -> Bool -> String -> TimeZone
TimeZone (-Int
8 Int -> Int -> Int
forall a. Num a => a -> a -> a
External instance of the constraint type Num Int
* Int
60) Bool
False String
"PST",
Int -> Bool -> String -> TimeZone
TimeZone (-Int
7 Int -> Int -> Int
forall a. Num a => a -> a -> a
External instance of the constraint type Num Int
* Int
60) Bool
True String
"PDT"
]
}
iso8601DateFormat :: Maybe String -> String
iso8601DateFormat :: Maybe String -> String
iso8601DateFormat Maybe String
mTimeFmt =
String
"%Y-%m-%d" String -> ShowS
forall a. [a] -> [a] -> [a]
++ case Maybe String
mTimeFmt of
Maybe String
Nothing -> String
""
Just String
fmt -> Char
'T' Char -> ShowS
forall a. a -> [a] -> [a]
: String
fmt
rfc822DateFormat :: String
rfc822DateFormat :: String
rfc822DateFormat = String
"%a, %_d %b %Y %H:%M:%S %Z"