module Data.Validity.Time.LocalTime where
import Data.Validity
import Data.Time.LocalTime
import Data.Validity.Time.Calendar ()
instance Validity TimeZone where
isValid TimeZone {..} =
isValid timeZoneMinutes &&
isValid timeZoneSummerOnly && isValid timeZoneName
instance Validity TimeOfDay where
isValid TimeOfDay {..} =
and
[ isValid todHour
, todHour >= 0
, todHour <= 23
, isValid todMin
, todMin >= 0
, todMin <= 59
, isValid todSec
, todSec >= 0
, todSec < 61
]
instance Validity LocalTime where
isValid LocalTime {..} = isValid localDay && isValid localTimeOfDay
instance Validity ZonedTime where
isValid ZonedTime {..} =
isValid zonedTimeToLocalTime && isValid zonedTimeZone