Поиск…


Синтаксис

  • 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