存在する日付かどうかチェックする(Haskell)。

fromGregorian 関数は Day 型を作る。存在しない日付が指定されると一番近い存在する日付の Day を返す。 Day 型に変換してから、Gregorian に戻して比較して同じ日付ならば存在する日付。 import Data.Time.Calendar import Test.HUnit isExistingDate :: I…

西暦から和暦に変換

type Year = Integer type Month = Int type Day = Int data Nengo = Nengo { start::(Year, Month, Day), end::(Year, Month, Day), name::String} deriving (Eq,Show) nengoTable :: [Nengo] nengoTable = [ Nengo { start = (1868, 1,25), end = (1912, 7…

System.Time で今日の日付を取得

Data.DateTime の toGregorian' :: DateTime -> (Integer, Int, Int) での日付管理は便利なのですが、UTC の日付です。System.Time で取得した時間でも DateTime に変換した時点で UTC になってしまいます。 -- DateTime > getCurrentTime --=> 2010-11-27 0…