在Javascript中格式化和比较日期

在Javascript中格式化和比较日期,javascript,Javascript,我正在尝试用javascript进行日期比较。通过一个web服务调用,我得到了一个“2014-07-02T09:49:49.299Z”格式的日期,并从数据库中得到了类似“2014-07-11 16:01:34”的数据“。在进行某种格式设置后,我需要比较这两种日期。我不确定如何将这两种日期设置为通用格式 提前感谢….您有如下日期字符串:- var date = "2014-07-02T09:49:49.299Z" 您可以尝试以下方法:- var getDateString = functio

我正在尝试用javascript进行日期比较。通过一个web服务调用,我得到了一个“2014-07-02T09:49:49.299Z”格式的日期,并从数据库中得到了类似“2014-07-11 16:01:34”的数据“。在进行某种格式设置后,我需要比较这两种日期。我不确定如何将这两种日期设置为通用格式


提前感谢….

您有如下日期字符串:-

 var date = "2014-07-02T09:49:49.299Z"
您可以尝试以下方法:-

var  getDateString = function(date, format) {
        var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
        getPaddedComp = function(comp) {
            return ((parseInt(comp) < 10) ? ('0' + comp) : comp)
        },
        formattedDate = format,
        o = {
            "y+": date.getFullYear(), // year
            "M+": months[date.getMonth()], //month
            "d+": getPaddedComp(date.getDate()), //day
            "h+": getPaddedComp((date.getHours() > 12) ? date.getHours() % 12 : date.getHours()), //hour
            "m+": getPaddedComp(date.getMinutes()), //minute
            "s+": getPaddedComp(date.getSeconds()), //second
            "S+": getPaddedComp(date.getMilliseconds()), //millisecond,
            "t+": (date.getHours() >= 12) ? 'PM' : 'AM'
        };

        for (var k in o) {
            if (new RegExp("(" + k + ")").test(format)) {
                formattedDate = formattedDate.replace(RegExp.$1, o[k]);
            }
        }
        return formattedDate;
    };
要比较两个日期,请尝试以下方法

var date = "2014-07-02T09:49:49.299Z";
var date1 = "2013-07-02T09:49:49.299Z";
var compareDate = function(date,date1){
if(new Date(date).getTime()>new Date(date1).getTime()){
console.log("greater date");
} else{
console.log("lesser date");
}
}

是的,我试过使用Date对象,但是下面的代码在我的例子中返回未定义的var d1=new Date(“2014-07-02T09:49:49.299Z”)2014-07-02T09:49:49.299Z,你能解释一下那个格式吗?@abhijeet:我想那是ISO 8601格式。@MobX:我不确定发生了什么,因为
日期
构造函数永远不会返回
未定义的
。对我来说很好。
var date = "2014-07-02T09:49:49.299Z";
var date1 = "2013-07-02T09:49:49.299Z";
var compareDate = function(date,date1){
if(new Date(date).getTime()>new Date(date1).getTime()){
console.log("greater date");
} else{
console.log("lesser date");
}
}