Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
比较javascript日期对象_Javascript_Date - Fatal编程技术网

比较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()调用所说。更好的问题是“您是什么时候执行的?”:-)顺便说一句,日志看起来令牌确实包含了一个
日期
对象,而不是字符串。