Преобразовать возвращенную строку (YYYYMMDD) на дату
У меня есть строка, содержащая 8 цифр, которые представляют дату. Например:
20120515
Я хотел бы сравнить его с сегодняшней датой, созданной таким образом:
var currentDate = new Date();
Как я могу преобразовать "восьмеричную строку даты" в подходящий формат даты, чтобы сравнить его с currentDate?
Ответы
Ответ 1
Используйте метод подстроки и подстроку с 4 элементами и назначьте ее новой дате года. Затем подстройте два элемента за раз и сохраните месяц и дату соответственно.
var dateString = "20120515";
var year = dateString.substring(0,4);
var month = dateString.substring(4,6);
var day = dateString.substring(6,8);
var date = new Date(year, month-1, day);
var currentDate = new Date();
Теперь вы можете сравнить две даты с обычными операторами.
Ответ 2
Если вам нужна небольшая библиотека, вы можете использовать moment.js.
var a = moment("20120515", "YYYYMMDD");
// then use any of moment manipulation or display functionality
a.format("MMM Do YYYY"); // May 15th 2012
a.fromNow(); // 14 hours ago
a.calendar(); // Today at 12:00 AM