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