X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=System%2FLocale.hs;h=f2b21b7377ae58f32a6fde2c914f199740a2db68;hb=b0968b64c77ee590c277c2986a630d3ba97dacff;hp=556e1748a1c5632fc653838e0790ecbaa15aaf9d;hpb=f7a485978f04e84b086f1974b88887cc72d832d0;p=ghc-base.git diff --git a/System/Locale.hs b/System/Locale.hs index 556e174..f2b21b7 100644 --- a/System/Locale.hs +++ b/System/Locale.hs @@ -5,15 +5,19 @@ -- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org --- Stability : provisional +-- Stability : stable -- Portability : portable -- --- Operations for defining locale-specific date and time formats. +-- This module provides the ability to adapt to local conventions. +-- At present, it supports only time and date information as used by +-- 'System.Time.calendarTimeToString' from the "System.Time" module. -- ----------------------------------------------------------------------------- -module System.Locale - ( TimeLocale(..) +module System.Locale ( + + TimeLocale(..) + , defaultTimeLocale , iso8601DateFormat @@ -24,11 +28,15 @@ where import Prelude data TimeLocale = TimeLocale { - wDays :: [(String, String)], -- full and abbreviated week days - months :: [(String, String)], -- full and abbreviated months + -- |full and abbreviated week days + wDays :: [(String, String)], + -- |full and abbreviated months + months :: [(String, String)], intervals :: [(String, String)], - amPm :: (String, String), -- AM/PM symbols - dateTimeFmt, dateFmt, -- formatting strings + -- |AM\/PM symbols + amPm :: (String, String), + -- |formatting strings + dateTimeFmt, dateFmt, timeFmt, time12Fmt :: String } deriving (Eq, Ord, Show) @@ -63,11 +71,14 @@ defaultTimeLocale = TimeLocale { } +-- |Normally, ISO-8601 just defines YYYY-MM-DD +-- but we can add a time spec. + iso8601DateFormat :: Maybe String -> String iso8601DateFormat timeFmt = "%Y-%m-%d" ++ case timeFmt of - Nothing -> "" -- normally, ISO-8601 just defines YYYY-MM-DD - Just fmt -> ' ' : fmt -- but we can add a time spec + Nothing -> "" + Just fmt -> ' ' : fmt rfc822DateFormat :: String