Разница между датой (dateString) и новой датой ( dateString)

У меня есть код, который пытается проанализировать строку даты.

Когда я делаю оповещение (Дата ("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» с новой датой ()?

49
задан Rishi 17 August 2010 в 07:44
поделиться

4 ответа

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) использует один из следующих форматов:

  • «Октябрь» 13, 197 5 11:13:00 "
  • " 13 октября 1975 г. 11:13 "
  • " 13 октября 1975 г. "
60
ответ дан 7 November 2019 в 11:35
поделиться

Вы не получаете сообщение об ошибке «неверная дата». Скорее, значение temp - «Недействительная дата».

Имеется ли у вас строка даты в допустимом формате? Если вы используете Firefox, проверьте Date.parse

В консоли Firefox javascript:

>>> Date.parse("2010-08-17 12:09:36");
NaN
>>> Date.parse("Aug 9, 1995")
807944400000

Я бы попробовал другой формат строки даты.

Зеби, вы используете Internet Explorer?

0
ответ дан 7 November 2019 в 11:35
поделиться

Разница в том, что (если я помню из документации 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

3
ответ дан 7 November 2019 в 11:35
поделиться

Правильные способы использования 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
1
ответ дан 7 November 2019 в 11:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: