aboutsummaryrefslogtreecommitdiff
path: root/server/src/Util
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/Util')
-rw-r--r--server/src/Util/Time.hs22
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)