如何获得GHCJS的当前时间?我应该尝试访问Date还是使用Haskell库?GHCJS基础库中是否有实用程序函数?
发布于 2015-12-04 11:55:26
Data.Time.Clock模块似乎运行得很好:
import Data.Time.Clock (getCurrentTime)
import Data.Time.Format -- Show instance
main = do
now <- getCurrentTime
print now发布于 2015-11-09 17:09:19
我目前发现的解决方案很难看,但对我来说很管用,所以也许它可以为某人节省一些时间:
{-# LANGUAGE JavaScriptFFI #-}
import GHCJS.Types( JSVal )
import GHCJS.Prim( fromJSString )
foreign import javascript unsafe "Date.now()+''" dateNow :: IO (JSVal)
asInteger = read (fromJSString dateNow) :: Integer -- this happens in IO丑陋之处在于没有在GHCJS中找到一个JSInteger类型,为了得到Date.now()的结果,这是一个很长的整数。因此,我需要生成一个字符串,将一个字符串连接到Javascript中的Date.now()结果。此时,我可以得到一个JSString,但这不是Read的一个实例,所以使用read是行不通的。因此,我得到一个JSValue,并使用fromJSString将其转换为String。
最终,GHCJS中可能会有一个JSInteger,或者JSString可能成为Read的一个实例,所以如果您正在阅读将来的文章,请尝试一些更优雅的东西!
https://stackoverflow.com/questions/33576866
复制相似问题