diff options
Diffstat (limited to 'server/src/Util')
-rw-r--r-- | server/src/Util/Time.hs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/server/src/Util/Time.hs b/server/src/Util/Time.hs new file mode 100644 index 0000000..4a29fcc --- /dev/null +++ b/server/src/Util/Time.hs @@ -0,0 +1,22 @@ +module Util.Time + ( belongToCurrentMonth + , belongToCurrentWeek + ) where + +import Data.Time.Calendar (toGregorian) +import Data.Time.Calendar.WeekDate (toWeekDate) +import Data.Time.Clock (UTCTime, getCurrentTime) + +import qualified Common.Util.Time as Time + +belongToCurrentMonth :: UTCTime -> IO Bool +belongToCurrentMonth time = do + (timeYear, timeMonth, _) <- toGregorian <$> Time.timeToDay time + (actualYear, actualMonth, _) <- toGregorian <$> (getCurrentTime >>= Time.timeToDay) + return (actualYear == timeYear && actualMonth == timeMonth) + +belongToCurrentWeek :: UTCTime -> IO Bool +belongToCurrentWeek time = do + (timeYear, timeWeek, _) <- toWeekDate <$> Time.timeToDay time + (actualYear, actualWeek, _) <- toWeekDate <$> (getCurrentTime >>= Time.timeToDay) + return (actualYear == timeYear && actualWeek == timeWeek) |