60 lines
1.9 KiB
Haskell
60 lines
1.9 KiB
Haskell
module Handler.Utils.DateTime where
|
|
|
|
import Data.Time
|
|
|
|
|
|
germanTimeLocale :: TimeLocale
|
|
germanTimeLocale = TimeLocale
|
|
{ wDays = [("Montag" ,"Mo")
|
|
,("Dienstag" ,"Di")
|
|
,("Mittwoch" ,"Mi")
|
|
,("Donnerstag" ,"Do")
|
|
,("Freitag" ,"Fr")
|
|
,("Samstag" ,"Sa")
|
|
,("Sonntag" ,"So")
|
|
]
|
|
, months = [("Januar" ,"Jan")
|
|
,("Februar" ,"Feb")
|
|
,("März" ,"Mär")
|
|
,("April" ,"Apr")
|
|
,("Mai" ,"Mai")
|
|
,("Juni" ,"Jun")
|
|
,("Juli" ,"Jul")
|
|
,("August" ,"Aug")
|
|
,("September" ,"Sep")
|
|
,("Oktober" ,"Okt")
|
|
,("November" ,"Nov")
|
|
,("Dezember" ,"Dez")
|
|
]
|
|
, amPm = ("am","pm")
|
|
, dateTimeFmt = "%a %e.%m.%y %k:%M"
|
|
, dateFmt = "%e.%m.%y"
|
|
, timeFmt = "%k:%M"
|
|
, time12Fmt = "%H:%M"
|
|
, knownTimeZones = [] -- TODO?
|
|
}
|
|
|
|
formatTimeGer :: FormatTime t => String -> t -> String
|
|
formatTimeGer = formatTime germanTimeLocale
|
|
|
|
formatTimeGerDTlong :: FormatTime t => t -> String
|
|
formatTimeGerDTlong = formatTimeGer "%A, %e. %B %Y, %k:%M:%S"
|
|
|
|
formatTimeGerWDT :: FormatTime t => t -> String
|
|
formatTimeGerWDT = formatTimeGer $ dateTimeFmt germanTimeLocale
|
|
|
|
formatTimeGerDT :: FormatTime t => t -> String -- 0.00.00 0:00
|
|
formatTimeGerDT = formatTimeGer "%e.%m.%y %k:%M" -- leading spaces at start, otherwise 0 padding
|
|
|
|
formatTimeGerDT2 :: FormatTime t => t -> String -- 00.00.00 00:00
|
|
formatTimeGerDT2 = formatTimeGer "%d.%m.%y %H:%M" -- always padding with 0
|
|
|
|
formatTimeGerWD :: FormatTime t => t -> String
|
|
formatTimeGerWD = formatTimeGer "%a %e.%m.%y"
|
|
|
|
formatTimeGerD :: FormatTime t => t -> String
|
|
formatTimeGerD = formatTimeGer $ dateFmt germanTimeLocale
|
|
|
|
formatTimeGerT :: FormatTime t => t -> String
|
|
formatTimeGerT = formatTimeGer $ timeFmt germanTimeLocale
|