Jquery DateJs, есть ли проверка для полной даты? - PullRequest
1 голос
/ 09 марта 2010

Я просто узнаю о силе свидания js, и это здорово !!! Поскольку я новичок, мне было интересно, существует ли какая-либо общая проверка для различных типов полных дат. например.

var d1 = Date.parse('2000-10-18, 10:06 AM');
alert(d1.toString('HH:mm'));

Если дата ('200-10-18, 10:06 AM'), конечно, это не нравится.

Так что мой вопрос: есть ли какой-нибудь быстрый способ проверить полную дату, вместо того, чтобы проверять по одному.

Спасибо.

Ответы [ 2 ]

6 голосов
/ 09 марта 2010

Здесь я снова отвечаю на ваш вопрос.

Чтобы подтвердить дату, вы можете просто позвонить:

var d1 = "200-10-18, 10:06 AM";
Date.validateDay(d1); 

И он сообщит вам, действительна ли дата.

EDIT

Или вы можете просто сделать это:

var d = Date.parseExact("2008-03-08", "yyyy-MM-dd"); 
if (d !== null) { 
     alert('Date = ' + d.toString('MMMM dd, yyyy')); 
} 

Использование parseExact вернет ноль, если дата недействительна.

0 голосов
/ 09 марта 2010

Date.parse проанализирует дату и время вместе, если вы это имеете в виду. Но он не любит AM / PM, поэтому вам нужно конвертировать ваш час в 24-часовой формат.

Я предлагаю, если вы знаете, что это заканчивается в AM или PM, просто уберите это, и если это AM, у вас все хорошо. Если это PM, добавьте 60 * 60 * 12 * 1000 обратно к результату, чтобы получить свои 12 часов назад. (секунды * минуты * часы * миллисекунды).

Попробуйте еще раз с: var d1 = Date.parse('2000-10-18, 10:06');

Кроме того, если вы хотите убедиться, что дата действительна, анализ вернет NaN (не число), если ввод неверен. Но я считаю, что вы можете ввести любую дату / время в течение нескольких тысяч лет. Он начнет выдавать NaN только тогда, когда вы попытаетесь выполнить синтаксический синтаксический анализ даты (например, использовать тире для одной части и косую черту для другой) или если вы попытаетесь Date.parse("bananasandwitch").

...