Проверка даты в Великобритании с использованием Javascript / jQuery - PullRequest
2 голосов
/ 01 августа 2011

У меня есть два jQuery DatePicker, которые когда-то изменились, будут запускать некоторые Ajax для сбора всей информации между двумя датами.

Я хочу запустить некоторый код, чтобы проверить, что первая дата меньше второй, путем преобразования в дату с использованием этого кода:

function FormatUkDate(dateStr) { 
    dateStr = dateStr.split("/");
    return new Date(dateStr[2], dateStr[1] - 1, dateStr[0]);
}

Это прекрасно работает, но проблема в том, что даже если я введу дату «50/08/2011», она все равно проверяет и преобразует ее в дату Javascript, я полагаю, добавляя дополнительное количество дней к дате начала.

Есть ли способ правильно проверить это, пожалуйста?

Спасибо!

Ответы [ 3 ]

1 голос
/ 01 августа 2011

Для работы с датами вы можете попробовать использовать библиотеку datejs .Он имеет много функций, включая проверку даты.Для решения вашей проблемы вы можете использовать метод Date.validateDay.Также вы можете использовать datejs для сравнения дат.

1 голос
/ 01 августа 2011

хм ... Я полагаю, плагин был бы лучшим решением, но за что он стоит:

function FormatUkDate(dateStr) { 
    dateStr = dateStr.split("/");
    var newDate = new Date(dateStr[2], dateStr[1] - 1, dateStr[0]);
    return newDate.getDate() == Number(dateStr[0]) && newDate.getMonth() == Number(dateStr[1]) - 1? newDate : null;
}

возвращает ноль, если дата переносится на следующий месяц.

Изменить

Новый код: P

1 голос
/ 01 августа 2011

вы можете проверить с помощью плагина с маской jquery, вы можете проверить его http://digitalbush.com/projects/masked-input-plugin/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...