JQuery преобразования даты Chrome работает, но IE и Firefox не работают - PullRequest
2 голосов
/ 07 марта 2012

Потерял здесь. Следующее прекрасно работает в Chrome, но в IE и FireFox "undefined undefined NaN Nan" возвращается

Что мне не хватает?

var dateString = $(this).attr("ows_EventDate");
var current_date = new Date(dateString);
var month_names = [];
month_names[month_names.length] = "January";
month_names[month_names.length] = "February";
month_names[month_names.length] = "March";
month_names[month_names.length] = "April";
month_names[month_names.length] = "May";
month_names[month_names.length] = "June";
month_names[month_names.length] = "July";
month_names[month_names.length] = "August";
month_names[month_names.length] = "September";
month_names[month_names.length] = "October";
month_names[month_names.length] = "November";
month_names[month_names.length] = "December";
var day_names = [];
day_names[day_names.length] = "Sunday";
day_names[day_names.length] = "Monday";
day_names[day_names.length] = "Tuesday";
day_names[day_names.length] = "Wednesday";
day_names[day_names.length] = "Thursday";
day_names[day_names.length] = "Friday";
day_names[day_names.length] = "Saturday";

var startU = (day_names[current_date.getDay()]) + (", ") 
  + (month_names[current_date.getMonth()]) + (" ") + current_date.getDate() 
  + (" ") + (" ") + current_date.getFullYear();

Chrome возвращается ... Четверг, 23 февраля 2012 и т. Д., И т. Д. Просто отлично.

Ответы [ 2 ]

6 голосов
/ 07 марта 2012

dateString должен быть правильно отформатирован.Должны работать форматы даты ISO 8601 (http://www.iso.org/iso/date_and_time_format)

. В своем комментарии вы сказали, что dateString равно 2012-02-04 21:00:00. Замена пробела на T сделает его действительным форматом даты, который могут быть проанализированы всеми браузерами, дляпример:

2012-02-04T21:00:00.

Пример: http://jsfiddle.net/TQjhP/

1 голос
/ 07 марта 2012

Ваша дата "2012-02-04 21:00:00" не принята конструктором Date() в IE.

Подробности смотрите в этом посте: Конструктор Javascript Date () не работает .

Спецификация того, что конструктор Date() должен принимать в виде строки: RFC2822 , если вам действительно нужны подробности того, что является законным.

Судя по всему, Firefox и IE работают с "2012/02/04 21:00:00".

См. эту статью для дальнейшего обсуждения.

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