如果新日期小于存储在变量

时间:2016-02-24 12:06:28

标签: javascript date-comparison

我只是想知道如何将日期与以下代码进行比较:

var today = new Date();

像这样输出当天:

Wed Feb 24 2016 12:02:34 GMT+0000 (GMT Standard Time)

但是,如果我有一个包含如下字符串的变量:

var end = "Tue Mar 1 2016 00.00.00 GMT+0000 (GMT Standard Time)";

我无法使用大于运算符在if语句中比较这两个变量,因为end变量是一个字符串。

所以我想知道如何将变量中的设定日期与我今天的变量进行比较?

谢谢,尼克

2 个答案:

答案 0 :(得分:1)

您可以使用日期的timestamp,而不是字符串表示。

var today = new Date();
console.log(today.getTime());

这是一个整数,你可以比较其中两个。请记住,如果要将其与来自其他来源的时间戳进行比较,这是一个毫秒时间戳,而不是秒秒。

注意:还有从时间到Date对象的字符串表示形式解析回来的选项,但这很大程度上取决于字符串组成的格式(可能还有JS客户端),它可能不总是工作。如果您打算比较时间,我建议仅使用数字时间戳。

答案 1 :(得分:1)

您可以使用存储的日期创建新的日期对象并进行比较。

var today = new Date();

//Edited date slightly to make it fit javascript date format
var end = new Date("Thu Mar 01 2001 00:00:00 GMT+0000 (GMT)");

例如

if(today > end){
    //do something
}