diff options
Diffstat (limited to 'src/Model/Date.hs')
-rw-r--r-- | src/Model/Date.hs | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/src/Model/Date.hs b/src/Model/Date.hs deleted file mode 100644 index 7edb6fb..0000000 --- a/src/Model/Date.hs +++ /dev/null @@ -1,30 +0,0 @@ -{-# LANGUAGE DeriveGeneric #-} - -module Model.Date where - -import GHC.Generics -import Data.Yaml - -data Date = Date - { month :: Int - , year :: Int - } deriving (Show, Read, Eq, Generic) - -yearAndMonthDiff :: Date -> Date -> (Int, Int) -yearAndMonthDiff d1 d2 = - let totalMonths = monthDiff d1 d2 - in (totalMonths `div` 12, totalMonths `mod` 12) - -monthDiff :: Date -> Date -> Int -monthDiff (Date m1 y1) (Date m2 y2) = - if y1 == y2 then - 1 + abs (m1 - m2) - else - let (minM, minY, maxM, maxY) = - if y1 < y2 then - (m1, y1, m2, y2) - else - (m2, y2, m1, y1) - in 12 * (maxY - minY - 1) + (13 - minM) + maxM - -instance FromJSON Date |