Недавно я столкнулся с проблемой, то есть когда я получаю дату в форме и переношу ее в фон через json, я столкнулся с функцией Date.parse(str) и сообщил об ошибке в ff: NAN.
После поиска некоторой информации я обнаружил, что функция Date.parse() имеет требования к формату даты: подробности см. в функции Date.parse().
Для даты операции js:
Создайте объект даты:
var objDate=new Date([список аргументов]);
Существует пять типов форм параметров:
Скопируйте код кода следующим образом:
просмотреть PlainNew Date("месяц дд,гггг чч:мм:сс");
новая дата("месяц дд,гггг");
новая дата (гггг, месяц, дд, чч, мм, сс);
новая дата (гггг, месяц, дд);
новая дата (мс);
проиллюстрировать:
месяц: указывает название месяца на английском языке, с января по декабрь.
mth: представляет месяц как целое число от 0 (январь) до 11 (декабрь).
Содержание
дд: указывает день месяца, от 1 до 31.
гггг: четырехзначный год
чч: час, с 0 (полночи) до 23 (23:00)
мм: минуты, целое число от 0 до 59.
сс: секунды, целое число от 0 до 59.
мс: миллисекунды, целое число, большее или равное 0, указывающее количество миллисекунд между временем создания и временем по Гринвичу 1 января 1970 года.
Что я нашел:
Конструкция даты в Javascript также может поддерживать new Date("yyyy/MM/dd"); где: MM — целое число, обозначающее месяц от 0 (январь) до 11 (декабрь), поэтому очень удобно использовать регулярные выражения. Возможность для преобразования строковых дат.
Тестовый код:
Скопируйте код кода следующим образом:
<mce:script type="text/javascript"><!--
document.write("<br/>" + новая дата("3 февраля 2009 г.");
document.write("<br/>" + new Date("3 февраля 2009 г. 10:52:03"));
document.write("<br/>");
document.write("<br/>" + новая дата(2009,1,3));
document.write("<br/>" + новая дата(2009,1,3,10,52,03));
document.write("<br/>");
document.write("<br/>" + new Date(Date.parse("3 февраля 2009")));
document.write("<br/>" + new Date(Date.parse("3 февраля 2009 г. 10:52:03")));
document.write("<br/>" + новая дата(Date.parse(2009,1,3))) //Вывод: NAN;
document.write("<br/>" + новая дата(Date.parse(2009,1,3,10,52,03))) //Вывод: NAN
document.write("<br/>" + new Date(Date.parse("2009/02/03")));
document.write("<br/>");
document.write("<br/>" + новая дата("2009/02/03"));
document.write("<br/>" + новая дата("2009/02/03 11:12:13"));
document.write("<br/>" + новая дата("2009-02-03")); //Вывод: NAN
// --></mce:script>
Результат вывода:
Вт, 3 февраля 00:00:00 UTC+0800 2009 г.
Вт, 3 февраля 10:52:03 UTC+0800 2009
Вт, 3 февраля 00:00:00 UTC+0800 2009 г.
Вт, 3 февраля 10:52:03 UTC+0800 2009
Вт, 3 февраля 00:00:00 UTC+0800 2009 г.
Вт, 3 февраля 10:52:03 UTC+0800 2009
НЭН
НЭН
Вт, 3 февраля 00:00:00 UTC+0800 2009 г.
Вт, 3 февраля 00:00:00 UTC+0800 2009 г.
Вт, 3 февраля 11:12:13 UTC+0800 2009
НЭН
-------------------
Скопируйте код кода следующим образом:
window.onload=function(){
vardependentVal="2005-3-4";
//Преобразуем в дату на основе строки даты
var regEx = new RegExp("//-","gi");
dependentVal=dependentVal.replace(regEx,"/");
//dependentVal=dependentVal.replace("//-","/");//Это не работает
предупреждение (зависимое значение)
//для анализа требуется формат 2005/3/4
вар миллисекунды = Date.parse(dependentVal);
предупреждение (миллисекунды)
варdependentDate=новая дата();
dependentDate.setTime(миллисекунды);
вар сейчас = новая дата();
//Обратите внимание на скобки, приоритетные вопросы, беспомощность
alert("Количество лет разницы:"+(now.getFullYear() -dependentDate.getFullYear()));
}
Фактически, дата должна передаваться между браузером и сервером через значение миллисекунды, иначе будет выдано сообщение об ошибке 400!