У меня есть код, который пытается проанализировать строку даты.
Когда я делаю оповещение (Дата ("2010-08-17 12:09:36"));
Он правильно анализирует дату, и все работает нормально, но я не могу вызвать методы, связанные с Date
, например getMonth ()
.
Когда я пытаюсь:
var temp = new Date("2010-08-17 12:09:36");
alert(temp);
я получаю ошибка «недопустимая дата».
Любые идеи о том, как проанализировать «2010-08-17 12:09:36» с новой датой ()?
Date ()
С его помощью вы вызываете функцию с именем Date ()
. Она не принимает никаких аргументов и возвращает строку, представляющую текущую дату и время.
new Date ()
Таким образом, вы создаете новый экземпляр Date.
Вы можете использовать только следующие конструкторы:
new Date() // current date and time
new Date(milliseconds) //milliseconds since 1970/01/01
new Date(dateString)
new Date(year, month, day, hours, minutes, seconds, milliseconds)
Итак, используйте 2010-08-17 12:09:36
в качестве параметра конструктора не допускается.
См. w3schools .
РЕДАКТИРОВАТЬ: новая дата (dateString)
использует один из следующих форматов:
Вы не получаете сообщение об ошибке «неверная дата». Скорее, значение temp - «Недействительная дата».
Имеется ли у вас строка даты в допустимом формате? Если вы используете Firefox, проверьте Date.parse
В консоли Firefox javascript:
>>> Date.parse("2010-08-17 12:09:36");
NaN
>>> Date.parse("Aug 9, 1995")
807944400000
Я бы попробовал другой формат строки даты.
Зеби, вы используете Internet Explorer?
Разница в том, что (если я помню из документации ECMA), Date ("xx")
не создает (в некотором смысле) новый объект даты (фактически это эквивалентно вызову ( new Date ("xx"). toString ()
). В то время как new Date ("xx")
фактически создаст новый объект даты.
Для получения дополнительной информации:
См. 15.9.2 из http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf
Правильные способы использования Date: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date
Кроме того, следующий фрагмент кода показывает, как с помощью одного определения функции «Животное» ее можно а) вызвать напрямую и б) создать экземпляр, рассматривая ее как функцию-конструктор
function Animal(){
this.abc = 1;
return 1234;
}
var x = new Animal();
var y = Animal();
console.log(x); //prints object containing property abc set to value 1
console.log(y); // prints 1234