Haskell Language
Дата и время
Поиск…
Синтаксис
addDays :: Integer -> День -> День
diffDays :: День -> День -> Целое число
fromGregorian :: Integer -> Int -> Int -> Day
convert from proleptic Gregorian calendar. First argument is year, second month number (1-12), third day (1-31). Invalid values will be clipped to the correct range, month first, then day.
getCurrentTime :: IO UTCTime
замечания
Модуль Data.Time
из time
пакета обеспечивает поддержку для извлечения и управления значениями даты и времени:
Поиск сегодняшней даты
Текущую дату и время можно найти с помощью getCurrentTime
:
import Data.Time
print =<< getCurrentTime
-- 2016-08-02 12:05:08.937169 UTC
В качестве альтернативы, только дата возвращается по fromGregorian
:
fromGregorian 1984 11 17 -- yields a Day
Добавление, вычитание и сравнение дней
В течение Day
мы можем выполнять простые арифметические и сопоставления, такие как добавление:
import Data.Time
addDays 1 (fromGregorian 2000 1 1)
-- 2000-01-02
addDays 1 (fromGregorian 2000 12 31)
-- 2001-01-01
Вычесть:
addDays (-1) (fromGregorian 2000 1 1)
-- 1999-12-31
addDays (-1) (fromGregorian 0 1 1)
-- -0001-12-31
-- wat
и даже найти разницу:
diffDays (fromGregorian 2000 12 31) (fromGregorian 2000 1 1)
365
обратите внимание, что порядок имеет значение:
diffDays (fromGregorian 2000 1 1) (fromGregorian 2000 12 31)
-365
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow