Haskell:
Obtendo a data atual
Como fazer:
A biblioteca padrão do Haskell, base
, fornece o módulo Data.Time
, que oferece funcionalidades para trabalhar com datas e horas. Veja como usá-lo para obter a data atual:
import Data.Time (getCurrentTime, utctDay)
main :: IO ()
main = do
now <- getCurrentTime
let today = utctDay now
print today
Saída de exemplo:
2023-04-12
Para mais flexibilidade, como formatar a data ou trabalhar com diferentes fusos horários, a biblioteca time
é inestimável. Aqui está como você pode formatar a data atual:
import Data.Time
main :: IO ()
main = do
now <- getCurrentTime
timezone <- getCurrentTimeZone
let zoneNow = utcToLocalTime timezone now
putStrLn $ formatTime defaultTimeLocale "%Y-%m-%d" zoneNow
Isso imprime a data atual no formato YYYY-MM-DD
, ajustado ao fuso horário local.
Adicionalmente, para suporte de bibliotecas de terceiros, time
é altamente recomendado e frequentemente usado dentro da comunidade Haskell por suas extensas capacidades de manipulação de datas e horas. Os exemplos acima utilizam esta biblioteca.
Se você precisar de manipulação de datas mais abrangente, incluindo análise de strings ou operações aritméticas com datas e horas, explorar funções adicionais dentro de Data.Time
será benéfico.