Формат и сравнение дат в Javascript

Я пытаюсь сделать сравнение дат в javascript. Через звонок веб-службы я получаю дату в форме "" 2014-07-02T09: 49: 49.299Z ", и из базы данных я получаю такую информацию, как" 2014-07 -11 16:01:34 "Мне нужно сравнить эти две даты после выполнения какого-то форматирования. Я не уверен, как отформатировать эти два вида дат в общем формате.

Заранее спасибо.....

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");
}
}

licensed under cc by-sa 3.0 with attribution.