我正在尝试在javascript中进行日期比较。通过网络服务电话,我将以“2014-07-02T09:49:49.299Z”的形式获取日期,并且从数据库我得到的数据就像“ 2014-07-11 16:01:34“。我需要在做某种格式化之后比较这两个日期。我不知道如何将这两种日期格式化为通用格式。
提前致谢.....
答案 0 :(得分:1)
您的日期字符串如下: -
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;
};
现在要格式化日期,请写: -
getDateString(new Date(date), "h:m:s:t")
要比较两个日期,请尝试此
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");
}
}