在Chrome中使用Date.js时,对象函数Date(){[native code]}没有方法'compareTo'

我有这两个日期时间变量在JavaScript中:

first_date = Date.parse('05/21/2012 0:00:00 ');
second_date = Date.today();

如果我正在使用( http://code.google.com/p/datejs/wiki/APIDocumentation#compareTo

return first_date.compareTo(second_date)

然后发生异常:

Object function Date() { [native code] } has no method 'compareTo' in Google Chrome.

I'm using latest version of Date.js from http://www.datejs.com/

如何解决这个问题?

我会提到其他函数(add(-5).days(),today()等)可以正常工作。

PS:我看了一下( http://code.google.com/p/datejs/issues/detail?id = 129 )但没有解决方法。

4
额外 编辑
意见: 1
first_date 不是Date,它是一个字符串,所以这可以解释为什么它没有 compareTo 方法。您多次提到Chrome - 这是否意味着您的代码在其他浏览器中可以正常工作,或者您没有在其他浏览器中测试过?我下载的最新版本的date.js似乎没有定义 compare 方法,只是 compareTo
额外 作者 nnnnnn,

2 答案

first_date and second_date are strings according to your code and Date.compare does not even exist unless you are using the svn-trunk version.

datejs定义了 Date.prototype.compareTo ,因此您只能使用 date_obj_a.compareTo(...)

5
额外
我已经使用 compareTo ,但同样的错误
额外 作者 Snake Eyes,
问题不在于我的代码,而在于功能。
额外 作者 Snake Eyes,
该svn-trunk版本解决了我的问题
额外 作者 Snake Eyes,
first_date = Date.parse('05/21/2012 0:00:00 ');
second_date = Date.today();

console.log(first_date.compareTo(second_date));//just working fine
1
额外
我有错误对象函数Date(){[native code]}没有方法'compare' ...
额外 作者 Snake Eyes,
我修改了变量但错误相同。 Chrome浏览器看不到 comparecompareTo 功能!
额外 作者 Snake Eyes,
问题是功能不是我的代码
额外 作者 Snake Eyes,
是的,我明白了,但我删除了比较,我用了compareTo
额外 作者 Snake Eyes,
为什么不在第二行中删除 toString 而不是转换date-> string-> date?
额外 作者 ThiefMaster,
@ThiefMaster谢谢
额外 作者 thecodeparadox,
@MichaelSwan你应该使用 compareTo()
额外 作者 thecodeparadox,
@MichaelSwan - 最新的date.js文件没有定义 compare (不管文档说什么)。
额外 作者 nnnnnn,