Как превратить символьную дату в целочисленный JavaScript - PullRequest
1 голос
/ 29 апреля 2010

Мне нужен способ превратить мои двухсимвольные строковые даты (то есть «04/10/2010» и «05/24/2010») в целые числа, чтобы увидеть, больше ли одно, чем другое. Если пользователь вводит конечную дату, которая меньше начальной, мне нужно выдать ошибку «недопустимый диапазон дат».

Ответы [ 3 ]

5 голосов
/ 29 апреля 2010

Из того, что вы опубликовали, ваша настоящая проблема:

Мне нужно посмотреть, больше ли одна дата, чем другая, в javascript / jquery.

Если это так, все, что вам нужно использовать, это объект Javascript Date (как здесь здесь ).

Вы можете использовать его следующим образом:

var dateTextA = '04/10/2010';
var dateTextB = '05/24/2010';
var dateA = new Date(dateTextA);
var dateB = new Date(dateTextB);
if (dateA < dateB){
    alert("Your date is out of range!");
}

Примечание: вышеуказанный код был протестирован и работает в IE7.

Если вам действительно нужно целочисленное значение, вы можете использовать функцию UTC , чтобы получить это.

1 голос
/ 29 апреля 2010

Проблема в Date.parse('04/10/2010') возвращает временную метку (целое число) для 10 апреля в США и 4 октября для большинства других мест

Лучше использовать менее двусмысленный формат - если вы берете пользовательский ввод, дайте ему календарь, меню или три метки, а затем постройте дату из этого.

3 входа:

new Date(+fullyearinput, monthinput-1, +dateinput)
0 голосов
/ 29 апреля 2010

Если Дата выиграна 't парсинг то, что вы ищете, Datejs предоставляет много синтаксического сахара для облегчения вашей жизни.

Чтобы сравнить две даты, все, что вам нужно сделать, это превратить ваши строки в объекты Date и затем использовать операторы больше, меньше или равенства. Javascript обеспечивает сравнение даты изначально.

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