File tree Expand file tree Collapse file tree 1 file changed +16
-0
lines changed Expand file tree Collapse file tree 1 file changed +16
-0
lines changed Original file line number Diff line number Diff line change 1
1
module Data.DateTime
2
2
( DateTime (..)
3
3
, date
4
+ , modifyDate
5
+ , modifyDateF
4
6
, time
7
+ , modifyTime
8
+ , modifyTimeF
5
9
, adjust
6
10
, diff
7
11
, module Data.Date
@@ -35,9 +39,21 @@ instance showDateTime :: Show DateTime where
35
39
date :: DateTime -> Date
36
40
date (DateTime d _) = d
37
41
42
+ modifyDate :: (Date -> Date ) -> DateTime -> DateTime
43
+ modifyDate f (DateTime d t) = DateTime (f d) t
44
+
45
+ modifyDateF :: forall f . Functor f => (Date -> f Date ) -> DateTime -> f DateTime
46
+ modifyDateF f (DateTime d t) = flip DateTime t <$> f d
47
+
38
48
time :: DateTime -> Time
39
49
time (DateTime _ t) = t
40
50
51
+ modifyTime :: (Time -> Time ) -> DateTime -> DateTime
52
+ modifyTime f (DateTime d t) = DateTime d (f t)
53
+
54
+ modifyTimeF :: forall f . Functor f => (Time -> f Time ) -> DateTime -> f DateTime
55
+ modifyTimeF f (DateTime d t) = DateTime d <$> f t
56
+
41
57
-- | Adjusts a date/time value with a duration offset. `Nothing` is returned
42
58
-- | if the resulting date would be outside of the range of valid dates.
43
59
adjust :: forall d . Duration d => d -> DateTime -> Maybe DateTime
You can’t perform that action at this time.
0 commit comments