在我的OS X 10.7.3 (Lion)笔记本电脑上,我无法使用日期构造函数使用Qt WebKit解析JavaScript日期字符串。使用jasmine-headless-webkit或phantomJS,所有调用如下:
new Date("2012-04-10")总是返回
"Invalid Date"而不是有效的Date对象。几周前,一切都很正常,我在六台具有类似设置的计算机上进行了检查,无法在其他任何地方重现该问题。
我相当确定的是,当我决定清理我的旧的本应该不用的MacPorts安装时,问题就开始了(我很久以前就切换到了Homebrew,并且正在做一些房屋清理)。我怀疑有一个动态链接库已经从我的系统中删除了,Qt使用它来进行日期解析。
有人知道这个日期解析库叫什么吗?你知道我是否可以用Homebrew安装它,或者以某种方式手动修复丢失的依赖项?
我尝试过重新安装Qt和许多其他库,但都没有解决这个问题。
发布于 2012-04-11 09:46:33
我没有Mac,但考虑到Windows的类似情况,我会使用一个可以报告应用程序依赖项信息的程序,比如Dependency Walker。快速搜索一下,就会发现this program在Mac世界可能会有所帮助。
发布于 2012-04-12 02:26:53
好了,我用jasmine-headless-webkit解决了日期解析的问题。不幸的是,我对它不够科学,所以我不太确定是什么修复了它。这可能是以下过程的一部分或全部:
另外,我安装了Qt和XCode 4.3,但我认为这并没有解决它,因为我的同事没有安装这些东西,也没有遇到和我一样的问题。
这可能与MacPorts无关,但可能与我以前安装的Qt4.7有关。我现在运行的是Qt 4.8。
抱歉,太吵了!也许这些信息会对其他人有所帮助。
发布于 2012-10-12 06:46:20
根据问题187 "PhantomJS似乎在ISO8601日期格式上中断“,这个错误应该在v1.8中修复:
http://code.google.com/p/phantomjs/issues/detail?id=187
同时,该错误报告的一个变通方法是在日期后附加"T00:00:00Z“。
https://stackoverflow.com/questions/10098731
复制相似问题