首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获得GHCJS的当前时间?

如何获得GHCJS的当前时间?
EN

Stack Overflow用户
提问于 2015-11-06 22:41:19
回答 2查看 141关注 0票数 0

如何获得GHCJS的当前时间?我应该尝试访问Date还是使用Haskell库?GHCJS基础库中是否有实用程序函数?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-04 11:55:26

Data.Time.Clock模块似乎运行得很好:

代码语言:javascript
复制
import Data.Time.Clock (getCurrentTime)
import Data.Time.Format -- Show instance
main = do
  now <- getCurrentTime
  print now
票数 4
EN

Stack Overflow用户

发布于 2015-11-09 17:09:19

我目前发现的解决方案很难看,但对我来说很管用,所以也许它可以为某人节省一些时间:

代码语言:javascript
复制
{-# 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的一个实例,所以如果您正在阅读将来的文章,请尝试一些更优雅的东西!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33576866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档