0
由於IO can not be used inside Yesod Template,如何在頁面上顯示簡單的當前時間?如何使用Yesod模板語言顯示當前時間?
在我.hamlet文件,是這樣的:
<h2>
#{show $ getCurrentTime }
getCurrentTime :: IO UTCTime
由於IO can not be used inside Yesod Template,如何在頁面上顯示簡單的當前時間?如何使用Yesod模板語言顯示當前時間?
在我.hamlet文件,是這樣的:
<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