Haskell:
Obteniendo la fecha actual
Cómo hacerlo:
La biblioteca estándar de Haskell, base
, proporciona el módulo Data.Time
que ofrece funcionalidad para trabajar con fechas y horas. He aquí cómo usarlo para obtener la fecha actual:
import Data.Time (getCurrentTime, utctDay)
main :: IO ()
main = do
now <- getCurrentTime
let today = utctDay now
print today
Ejemplo de salida:
2023-04-12
Para mayor flexibilidad, como formatear la fecha o trabajar con diferentes zonas horarias, la biblioteca time
es invaluable. Así es cómo podrías formatear la fecha actual:
import Data.Time
main :: IO ()
main = do
now <- getCurrentTime
timezone <- getCurrentTimeZone
let zoneNow = utcToLocalTime timezone now
putStrLn $ formatTime defaultTimeLocale "%Y-%m-%d" zoneNow
Esto imprime la fecha actual en el formato AAAA-MM-DD
, ajustada a la zona horaria local.
Adicionalmente, para el soporte de bibliotecas de terceros, time
es altamente recomendado y a menudo utilizado dentro de la comunidad de Haskell por sus extensas capacidades de manipulación de fechas y horas. Los ejemplos anteriores utilizan esta biblioteca.
Si necesitas una manipulación de fechas más completa, incluyendo el parseo desde cadenas o operaciones aritméticas con fechas y horas, explorar funciones adicionales dentro de Data.Time
será beneficioso.