0
IO can not be used inside Yesod Template以降、単純な現在時刻をページに表示するにはどうすればよいですか?私の.hamletファイル、のようなものでYesodテンプレート言語で現在の時刻を表示する方法は?
:つまり
<h2>
#{show $ getCurrentTime }
getCurrentTime :: IO UTCTime
IO can not be used inside Yesod Template以降、単純な現在時刻をページに表示するにはどうすればよいですか?私の.hamletファイル、のようなものでYesodテンプレート言語で現在の時刻を表示する方法は?
:つまり
<h2>
#{show $ getCurrentTime }
getCurrentTime :: IO UTCTime
、テンプレートの外にIOアクションを実行する必要があります。外は、テンプレートのハンドラを意味することに
。だから私はこのように書くだろう。
-- Home.hs
getHomeR = do
time <- liftIO getCurrentTime
defaultLayout $(widgetFile "homepage")
-- homepage.hamlet
<h2>#{show time}
この 'getCurrentTime'は、UTCまたはローカルタイムゾーンで戻りますか?ユーザーがブラウザに表示するタイムゾーンは何ですか? – frt
@frt ghci、 'import Data.Time'' getCurrentTime'でテストできます。 これは '2017-07-28 23:32:26.2083905 UTC'' it :: UTCTime'を表示します。 – jeiea