Эта простая задача решается не менее просто.Для нахождения разницы дней между двумя датами у нас должны быть эти даты. К примеру:
28.09.2014 15:30 — 28 сентября 2014 года 14 часов 30 минут
17.10.2014 19:37 — 17 октября 2014 года 19 часов 37 минут
Далее мы распарсим эти даты, чтобы выделить дни, годы, месяцы, часы и минуты для использования из в функции Date.UTC. Эта функция имеет такой формат:
Date.UTC(год, месяц, день[, часы[, минуты[, секунды[, миллисекунды]]]])
Чтобы распарсить дату мы воспользуемся регулярными выражениями:
first_date = "28.09.2014 15:30";
var first_array = first_date(/(\d{2})\.(\d{2})\.(\d{4}) (\d{2}):(\d{2})/);
В результате мы получим массив такого вида:
first_array[1]; // день
first_array[2]; // месяц
first_array[3]; // год
first_array[4]; // часы
first_array[5]; // минуты
Осталось использовать функцию Date.UTC, затем найти разницу между датами и привести все это к суткам. Общий код будет таким:
first_date = "28.09.2014 15:30";
second_date = "17.10.2014 19:37";
first_array = first_date.match(/(\d{2})\.(\d{2})\.(\d{4}) (\d{2}):(\d{2})/);
second_array = second_date.match(/(\d{2})\.(\d{2})\.(\d{4}) (\d{2}):(\d{2})/);
first = Date.UTC(first_array[3], first_array[2]-1, first_array[1], first_array[4], first_array[5]);
second = Date.UTC(second_array[3], second_array[2]-1, second_array[1], second_array[4], second_array[5]);
days = Math.ceil((second - first)/(1000*60*60*24));
В конце мы округляем значение до большего целого.
Обратите внимание, что функция Date.UTC использует нумерацию месяцев на 1 меньше, т. е. январь — это не первый месяц, а нулевой и т. д.