packages feed

date-conversions 0.2.0.0 → 0.3.0.0

raw patch · 2 files changed

+29/−7 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Data.Time.Calendar.DateConversions: beginningOfBiweek :: Day -> Day
+ Data.Time.Calendar.DateConversions: endOfBiweek :: Day -> Day
+ Data.Time.Calendar.DateConversions: nextBiweek :: Day -> Day
+ Data.Time.Calendar.DateConversions: previousBiweek :: Day -> Day

Files

date-conversions.cabal view
@@ -1,5 +1,5 @@ name:                date-conversions-version:             0.2.0.0+version:             0.3.0.0 synopsis:            Date conversions description:         Please see README.md homepage:            https://github.com/thoughtbot/date-conversions#readme
src/Data/Time/Calendar/DateConversions.hs view
@@ -1,32 +1,33 @@ module Data.Time.Calendar.DateConversions-    (     -- beginning-      beginningOfWeek+    ( beginningOfWeek+    , beginningOfBiweek     , beginningOfMonth     , beginningOfQuarter     , beginningOfYear-     -- end     , endOfWeek+    , endOfBiweek     , endOfMonth     , endOfQuarter     , endOfYear-     -- next     , nextWeek+    , nextBiweek     , nextMonth     , nextQuarter     , nextYear-     -- previous     , previousWeek+    , previousBiweek     , previousMonth     , previousQuarter     , previousYear     ) where  import qualified Data.Dates as D-import qualified Data.Time  as T+import qualified Data.Time as T+import qualified Data.Time.Calendar.WeekDate as T  beginningOfWeek :: T.Day -> T.Day beginningOfWeek d =@@ -36,6 +37,18 @@   where     nextMonday = D.dateTimeToDay . D.nextMonday . D.dayToDateTime +beginningOfBiweek :: T.Day -> T.Day+beginningOfBiweek d =+    if odd w'+        then beginningOfWeek d+        else T.addDays (-7) $ beginningOfWeek d+  where+    (_, w, dow) = T.toWeekDate d+    w' =+        if dow == 7+            then w + 1+            else w+ beginningOfMonth :: T.Day -> T.Day beginningOfMonth d = T.fromGregorian year month 1   where@@ -55,6 +68,9 @@ endOfWeek :: T.Day -> T.Day endOfWeek = T.addDays 6 . beginningOfWeek +endOfBiweek :: T.Day -> T.Day+endOfBiweek = T.addDays 13 . beginningOfBiweek+ endOfMonth :: T.Day -> T.Day endOfMonth = T.addDays (-1) . T.addGregorianMonthsClip 1 . beginningOfMonth @@ -67,6 +83,9 @@ nextWeek :: T.Day -> T.Day nextWeek = T.addDays 7 . beginningOfWeek +nextBiweek :: T.Day -> T.Day+nextBiweek = T.addDays 14 . beginningOfBiweek+ nextMonth :: T.Day -> T.Day nextMonth = T.addGregorianMonthsClip 1 . beginningOfMonth @@ -78,6 +97,9 @@  previousWeek :: T.Day -> T.Day previousWeek = T.addDays (-7) . beginningOfWeek++previousBiweek :: T.Day -> T.Day+previousBiweek = T.addDays (-14) . beginningOfBiweek  previousMonth :: T.Day -> T.Day previousMonth = T.addGregorianMonthsClip (-1) . beginningOfMonth