javascript-比较不同格式的日期

javascript-比较不同格式的日期,javascript,date,Javascript,Date,我有两个日期,我需要比较一个是否大于另一个,但它们的格式不同,我不确定比较这两个日期的最佳方式 格式如下: 1381308375118(这是var futureDate) 它是由 var today=新日期();今天,设定时间(0,0,0,0);var futureDate=new Date().setDate(today.getDate()+56)//未来56天… 另一种格式是 2013/08/26 你知道我如何比较这两个版本吗?也许你可以使用Date.parse(“2013/08/26”)并

我有两个日期,我需要比较一个是否大于另一个,但它们的格式不同,我不确定比较这两个日期的最佳方式

格式如下:

1381308375118
(这是var futureDate)

它是由

var today=新日期();今天,设定时间(0,0,0,0);var futureDate=new Date().setDate(today.getDate()+56)//未来56天…

另一种格式是

2013/08/26


你知道我如何比较这两个版本吗?

也许你可以使用
Date.parse(“2013/08/26”)
并与前一个版本进行比较

我强烈建议使用

因此,这可以写在一行中:

Date.today().isAfter(Date.parse('2013/08/26'))

不使用第三方库,您可以使用这两种格式创建新的
Date
对象,使用
getTime()
检索毫秒数(自1970年1月1日午夜起),然后只需使用

new Date("2013/08/26").getTime() > new Date(1381308375118).getTime()

我会确保比较每种格式的“日期”元素,并排除任何“时间”元素。然后将两个日期都转换为毫秒,只需比较这些值。你可以这样做。如果日期相等,则返回0,如果第一个日期小于第二个日期,则返回-1,否则返回1

Javascript

function compareDates(milliSeconds, dateString) {
    var year,
        month,
        day,
        tempDate1,
        tempDate2,
        parts;

    tempDate1 = new Date(milliSeconds);
    year = tempDate1.getFullYear();
    month =  tempDate1.getDate();
    day = tempDate1.getDay();
    tempDate1 = new Date(year, month, day).getTime();

    parts = dateString.split("/");
    tempDate2 = new Date(parts[0], parts[1] - 1, parts[2]).getTime();

    if (tempDate1 === tempDate2) {
        return 0;
    }

    if (tempDate1 < tempDate2) {
        return -1;
    }

    return 1;
}

var format1 = 1381308375118,
    format2 = "2013/08/26";

console.log(compareDates(format1, format2));
函数比较值(毫秒,日期字符串){
风险年,
月,
白天
tempDate1,
临时雇员2,
部分;
tempDate1=新日期(毫秒);
year=tempDate1.getFullYear();
month=tempDate1.getDate();
day=tempDate1.getDay();
tempDate1=新日期(年、月、日).getTime();
parts=dateString.split(“/”);
tempDate2=新日期(部分[0],部分[1]-1,部分[2])。getTime();
if(tempDate1==tempDate2){
返回0;
}
if(tempDate1

上,按照以下步骤比较日期

您的每个日期都必须经过
date
对象,即
新日期(yourDate)
。 现在日期将有相同的格式,这些将是可比的

let date1=新日期()
出租日期2=“2019年1月1日”
log(`date1:${date1}`)
log(`date2:${date2}`)
让第一个日期=新日期(日期1)
让第二个日期=新日期(日期2)
//将每个日期传递到“新日期(yourDate)”中
//并获得类似的格式日期
log(`first Date:${first_Date}`)
log(`second Date:${second_Date}`)
//现在这些日期是可比的
如果(第一天>第二天){
console.log(`${date2}已被传递`)

}
为什么要投否决票?我只在FF和IE9中进行了测试,但这似乎是比较日期的有效方法,除非我遗漏了什么。您正在比较的是日期对象,而不是实际的日期。修改为检索每个日期的毫秒值。