module Chronos.Day
( add
, diff
, today
, tomorrow
, yesterday
, toDate
, fromDate
) where
import Chronos.Types
import Data.Int
import Chronos.Internal.Conversion as Conv
import qualified Chronos.Posix as Posix
add :: Int -> Day -> Day
add = Conv.addDay
diff :: Day -> Day -> Int
diff = Conv.diffDay
today :: IO Day
today = fmap Posix.truncateToDay Posix.now
tomorrow :: IO Day
tomorrow = fmap (add 1 . Posix.truncateToDay) Posix.now
yesterday :: IO Day
yesterday = fmap (add (1) . Posix.truncateToDay) Posix.now
fromDate :: Date -> Day
fromDate = Conv.dateToDay
toDate :: Day -> Date
toDate = Conv.dayToDate