casr-logbook-0.1.2: src/Data/Aviation/Casr/Logbook/Time.hs
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE TemplateHaskell #-}
module Data.Aviation.Casr.Logbook.Time(
Time(..)
, HasTime(..)
, dayonly
, dayandtime
) where
import Control.Lens(makeClassy)
import Data.Eq(Eq)
import Data.Ord(Ord)
import Data.Maybe(Maybe(Nothing, Just))
import Data.Time(Day, TimeOfDay)
import Prelude(Show)
data Time =
Time {
_daytime :: Day
, _timeofday :: Maybe TimeOfDay
} deriving (Eq, Ord, Show)
makeClassy ''Time
dayonly ::
Day
-> Time
dayonly d =
Time d Nothing
dayandtime ::
Day
-> TimeOfDay
-> Time
dayandtime d t =
Time d (Just t)