0
現在の日付をレコードの中にDay
の形式で保存するにはどうすればよいですか?これは正しい方法ですか?アプリケーションで日付を操作できるだけでなく、OpaleyeまたはEsqueletoを使用してデータベースに格納することもできます。現在の日付をレコードにDay型としてのみ格納する方法はありますか?
import Data.Time
import Data.Time.Format
data User = User
{ userId :: Int
, name :: Text
, loginDate :: Day
} deriving (Eq, Show)
currentDay :: Day
currentDay = utctDay <$> getCurrentTime ???
users :: [User]
users = [ User 1 "A" currentDay
, User 2 "B" currentDay
]
しかしcurrentDay
のタイプはIO Day
です:
Day
として入手できますか?タイプの安全を壊さずには不可能だと思いますが、わかりません。
私はIO Day
にloginDate
の種類を変えることができるが、その後、私はEq
とShow
を導出することができるので、サーバントを使用している間deriveJSON
を使用することができませんではないでしょう。 currentDay
のタイプをIO Day
とusers
からIO [User]
に変更すると、私はServantタイプを使用できません。
しかし、私はサーバントとIOモナドを使用することはできません、私はできますか? – OneEyeQuestion
できます。あなたのコードはどこに置いておきたいですか?通常は 'liftIO'を使用してください。 – ErikR
IOモナド( 'IO [User]')と他のエンドポイント( '[Friend]')の2つのエンドポイントを組み合わせることはできますか? – OneEyeQuestion