{-# LANGUAGE LambdaCase #-} module Main where import Data.Time.Format import Data.Time.LocalTime import System.Environment (getArgs) main :: IO () main = do args <- getArgs let (format, icon) = (getFormat args, getIcon args) zonedTime <- getZonedTime putStrLn $ icon <> (formatTime defaultTimeLocale format zonedTime) getIcon :: [String] -> String getIcon = \case _ : icon : _ -> icon _ -> "" getFormat :: [String] -> String getFormat = \case format : _ -> format _ -> defaultFormat where defaultFormat = "%d-%m-%y %H:%M"