将日期与字符串javascript中的日期进行比较

将日期与字符串javascript中的日期进行比较,javascript,date,Javascript,Date,我试图用javascript比较几个日期。首先,我从一个数据库得到。在数据库中,它是日期格式的,但在发送到json文件后,我猜它只是一个字符串 第二次我得到了javascript中的日期格式。我在javascript中找到了以下脚本: var todayAEJ = new Date(); var ddAEJ = todayAEJ.getDate(); var mmAEJ = todayAEJ.getMonth()+1; //January is 0! var yyyyAEJ = todayAEJ

我试图用javascript比较几个日期。首先,我从一个数据库得到。在数据库中,它是日期格式的,但在发送到json文件后,我猜它只是一个字符串

第二次我得到了javascript中的日期格式。我在javascript中找到了以下脚本:

var todayAEJ = new Date();
var ddAEJ = todayAEJ.getDate();
var mmAEJ = todayAEJ.getMonth()+1; //January is 0!
var yyyyAEJ = todayAEJ.getFullYear();
if(ddAEJ<10){ddAEJ='0'+ddAEJ} if(mmAEJ<10){mmAEJ='0'+mmAEJ} todayAEJ = ddAEJ+'-'+mmAEJ+'-'+yyyyAEJ; 

但当今天的日期大于val.date\u End's day时,它返回真值。因此,当月份不同时,我不能使用此表单。在这种情况下我能做什么?

如果您可以使用
MM-DD-YYYY
格式而不是
DD-MM-YYYY
,您可以使用
Date.parse

var todayAEJTimeStamp = Date.parse(todayAEJ);//Date parse needs `MM-DD-YYYY` format

//if val.date_End is instance of Date
if(todayAEJTimeStamp > val.date_End.getTime()) {
    //your code here
}

你必须通过微时间进行比较

var date = new Date("11/21/1987 16:00:00");
var milliseconds = date.getTime(); // Compare this milliseconds
您甚至可以使用
var newDate=myDate[1]+“/”+myDate[0]+“/”+myDate[2]

使用以上代码…它将解决您的问题


Iinjoy…

除了时间戳解决方案,我建议您在任何情况下使用JS中的日期对象。Date对象在JS中有非常奇怪的行为,这个库很方便。

在javascriptit中使用时间戳它不起作用。我想这是因为我的客户日期是这样的格式:dd-mm-yy而不是mm-dd-yy我不能。我从服务器收到日期,它的格式是OK,什么是
val.date\u End
?一串数据对象?它是来自json文件的字符串。我有一个json文件,读取每一行并将其保存在val中,然后读取每个属性值。
var date = new Date("11/21/1987 16:00:00");
var milliseconds = date.getTime(); // Compare this milliseconds
   otherDate = '13-01-2014';
   myDate=myDate.split("-");
   var newDate=myDate[1]+","+myDate[0]+","+myDate[2];
    otherDateTimeStamp = new Date(newDate).getTime();
    todayAEJTimeStamp = new Date().getTime();
    if(todayAEJTimeStamp > otherDateTimeStammp){
      // your code
    }