2014-01-13 2 views
2

У меня есть строка datetime, которая пробивается из базы данных SQL в мою функцию Javascript.Синхронизация строки DateTime не работает в Firefox и Internet Explorer, работает в Chrome

2013-12-31 09:09:49 

Хром, кажется, разбирает его без проблем, но NaN возвращается для Firefox и IE.

Почему это происходит?

Если это имеет значение, я использую SQLServer 2012

+0

Возможный дубликат [Конвертировать MySql DateTime штамп в формат даты JavaScript] (http://stackoverflow.com/questions/3075577/convert-mysql-datetime-stamp-into-javascripts-date -формат) –

ответ

5

Путь SQL создает datestrings (например, с getdate()), кажется, отличается от того, как Javascript обрабатывает строки даты-времени.

Сети Mozilla Devlopment says, что строки datetime могут быть в ISO 8601 format.

Этот формат указан как 2011-10-10T14:48:00, тогда как ваша строка SQL выглядит как 2011-10-10 14:48:00.

Все, что нужно сделать, чтобы это строка JS действует Datetime, чтобы заменить пространство с Т.

Один из способов сделать это было бы

var dateTime = "2013-12-31 09:09:49"; 
var jsValidDateTime = dateTime.split(" ").join("T"); 
Date.parse(jsValidDateTime); //output: 1388498989000 

Эта информация действительна, как Firefox 26 и Internet Explorer 11.

+0

Это работает для EcmaScript 5, поэтому старший брат wsers могут не поддерживать это. –

Смежные вопросы