diff options
author | Joris | 2015-10-04 20:48:32 +0200 |
---|---|---|
committer | Joris | 2015-10-04 20:48:32 +0200 |
commit | 8c24464a4bd0a486cd0ddf846d3b5a323a7aaa9a (patch) | |
tree | cdd1bb79846b3d8865d833a122152528b03a4746 /src/server/Utils | |
parent | 303dfd66c6434e19ba226a133a35a74a557b3e93 (diff) |
Using incomes to compute a fair computation to designate the payer
Diffstat (limited to 'src/server/Utils')
-rw-r--r-- | src/server/Utils/Time.hs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/server/Utils/Time.hs b/src/server/Utils/Time.hs new file mode 100644 index 0000000..0d6ed73 --- /dev/null +++ b/src/server/Utils/Time.hs @@ -0,0 +1,27 @@ +module Utils.Time + ( belongToCurrentMonth + , getLocalDate + , Date(..) + ) where + +import Data.Time.Clock +import Data.Time.LocalTime +import Data.Time.Calendar + +belongToCurrentMonth :: UTCTime -> IO Bool +belongToCurrentMonth time = do + timeMonth <- month <$> getLocalDate time + actualMonth <- month <$> (getCurrentTime >>= getLocalDate) + return (timeMonth == actualMonth) + +getLocalDate :: UTCTime -> IO Date +getLocalDate time = do + timeZone <- getCurrentTimeZone + let (y, m, d) = toGregorian . localDay $ utcToLocalTime timeZone time + return (Date y m d) + +data Date = Date + { year :: Integer + , month :: Int + , day :: Int + } |