Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.06.2012, 06:26
wUI wUI вне форума
Аспирант
Отправить личное сообщение для wUI Посмотреть профиль Найти все сообщения от wUI
 
Регистрация: 19.04.2012
Сообщений: 78

Преобразовать в Date.UTC
Всем доброго времени суток

Есть проблема с получением даты в формате UTC.

С сервера получаю следующий массив значений через json:

[{"datePoint":"2012-05-22 12:39:39","data1":290.4},{"datePoint":"2012-05-22 21:55:08","data1":287.2},{"datePoint":"2012-05-23 07:07:33","data1":280.8},{"datePoint":"2012-05-23 16:26:10","data1":285.6},{"datePoint":"2012-05-24 02:22:08","data1":294.4},{"datePoint":"2012-05-24 11:33:26","data1":295.2},{"datePoint":"2012-05-24 20:49:21","data1":294.4},{"datePoint":"2012-05-25 06:09:22","data1":295.2},{"datePoint":"2012-05-25 15:18:56","data1":288},{"datePoint":"2012-05-26 00:41:52","data1":296}]

И для остроения графиков, мне необходимо преобразовать дату из массива в формат UTC(примр:"Wed Jun 27 2012 17:31:28 GMT+0600").

Видимо в силу "ровных" рук не выходит Подскажите пожалуйста или может есть пример.
Ответить с цитированием
  #2 (permalink)  
Старый 28.06.2012, 06:36
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

http://javascript.ru/Date
Ответить с цитированием
  #3 (permalink)  
Старый 28.06.2012, 06:52
wUI wUI вне форума
Аспирант
Отправить личное сообщение для wUI Посмотреть профиль Найти все сообщения от wUI
 
Регистрация: 19.04.2012
Сообщений: 78

Octane,
Да вот в том и дело, что преобразование подобного числа как у меня выдает invalid date. Как понял из базы необходимо получить в другом формате дату и без милисекунд.
Ответить с цитированием
  #4 (permalink)  
Старый 28.06.2012, 07:16
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

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

alert(new Date("2012-05-22 12:39:39"))
работает

Как мы должны догадаться, где у вас там invalid date возникает?!
Ответить с цитированием
  #5 (permalink)  
Старый 28.06.2012, 07:23
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

Octane,
ff13.0.1 invalid date)

Разные браузеры по-разному относятся к форматам дат.)
__________________
29375, 35

Последний раз редактировалось Aetae, 28.06.2012 в 07:26.
Ответить с цитированием
  #6 (permalink)  
Старый 28.06.2012, 07:32
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Мда… Opera и Chrome распарсили, Firefox и IE — Invalid Date.
------------------
если заменить на слеши 2012/05/22, то все браузеры справляются, только, наверное, из-за автоматической корректировки пояса, придется просто объект Date создавать и выставлять время с помощью setUTCметодов, самостоятельно разбирая строку

Последний раз редактировалось Octane, 28.06.2012 в 07:40.
Ответить с цитированием
  #7 (permalink)  
Старый 28.06.2012, 08:07
wUI wUI вне форума
Аспирант
Отправить личное сообщение для wUI Посмотреть профиль Найти все сообщения от wUI
 
Регистрация: 19.04.2012
Сообщений: 78

Необходимо отладить работу под IE, тестил на FF.(Удачно совпало)

Действительно, такой подход:
alert(new Date("2012/05/22 12:39:39"));

отрабатывает.

Надо поглядеть возможно ли из MSSQL 2008 вытащить строку в подобном формате, тогда все было бы проще, чем распарсивать значение, а затем его собирать.
Ответить с цитированием
  #8 (permalink)  
Старый 28.06.2012, 08:11
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

Вроде там как раз можно в UTC формате получать, тогда вообще проблем не будет.
__________________
29375, 35
Ответить с цитированием
  #9 (permalink)  
Старый 28.06.2012, 08:29
wUI wUI вне форума
Аспирант
Отправить личное сообщение для wUI Посмотреть профиль Найти все сообщения от wUI
 
Регистрация: 19.04.2012
Сообщений: 78

Нашел третий выход=)

В php перед отправкой json строки, обрабатываю переменную с датой так:
$ReceivedDate = str_replace("-", "/", "".$StartDate."");
Ответить с цитированием
  #10 (permalink)  
Старый 28.06.2012, 08:34
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

Это называется не третий выход, это называется костыль. -_-
__________________
29375, 35
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразовать поток в картинку при обновление капчи psarum AJAX и COMET 10 04.01.2012 12:43
Преобразовать строку в Number с учетом региональных настроек Mutagena Общие вопросы Javascript 2 15.03.2011 01:22
Как преобразовать строку с тегами в DOM элимент GOll Общие вопросы Javascript 7 07.04.2010 10:39
Как текст из responseText преобразовать в теги? Бобр AJAX и COMET 24 26.02.2010 04:37
преобразовать спец символы olgatcpip AJAX и COMET 9 25.04.2009 15:46