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