比较javascript日期对象
我必须对何时更新刷新令牌进行逻辑分析,但不知何故,我没有得到正确的值比较javascript日期对象,javascript,date,Javascript,Date,我必须对何时更新刷新令牌进行逻辑分析,但不知何故,我没有得到正确的值 console.log(this._accessToken[".expires"]); console.log(Date.parse(this._accessToken[".expires"]) > new Date().getTime()); 导致 Wed, 16 Oct 2013 15:42:53 GMT true 它应该返回false 如何使新日期()与字符串位于同一时区。(我假设字符串包含了它所需的所
console.log(this._accessToken[".expires"]);
console.log(Date.parse(this._accessToken[".expires"]) > new Date().getTime());
导致
Wed, 16 Oct 2013 15:42:53 GMT
true
它应该返回false
如何使新日期()与字符串位于同一时区。(我假设字符串包含了它所需的所有信息,可以告诉您当前时间是在它之前还是之后)。在比较Unix时间戳时,您不应该担心时区(请参阅原因) 您正确地进行了比较--您得到的是
true
而不是false
,因为这是正确的:
> new Date()
Wed Oct 16 2013 11:51:29 GMT-0400 (EDT)
> Date.parse("Wed, 16 Oct 2013") > new Date().getTime()
false
> Date.parse("Wed, 16 Oct 2013 00:00:00 GMT") > new Date().getTime()
false
> Date.parse("Wed, 16 Oct 2013 23:00:00 GMT") > new Date().getTime()
true
您只需使用数据库返回的字符串创建一个新日期,并使用常用的运算符进行比较:
var expirationDate = new Date("Wed, 16 Oct 2013 15:42:53 GMT");
var now = new Date();
alert(now > expirationDate);
这是什么。_accessToken[“.expires”]包含什么?@ComFreek“Wed,2013年10月16日15:42:53 GMT”,正如第一个console.log()调用所说。更好的问题是“您是什么时候执行的?”:-)顺便说一句,日志看起来令牌确实包含了一个
日期
对象,而不是字符串。