Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Преобразовать в Date.UTC (https://javascript.ru/forum/misc/29444-preobrazovat-v-date-utc.html)

wUI 28.06.2012 06:26

Преобразовать в 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").

Видимо в силу "ровных" рук не выходит:) Подскажите пожалуйста или может есть пример.

Octane 28.06.2012 06:36

http://javascript.ru/Date

wUI 28.06.2012 06:52

Octane,
Да вот в том и дело, что преобразование подобного числа как у меня выдает invalid date. Как понял из базы необходимо получить в другом формате дату и без милисекунд.

Octane 28.06.2012 07:16

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

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

Как мы должны догадаться, где у вас там invalid date возникает?!

Aetae 28.06.2012 07:23

Octane,
ff13.0.1 invalid date)

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

Octane 28.06.2012 07:32

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

wUI 28.06.2012 08:07

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

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

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

Надо поглядеть возможно ли из MSSQL 2008 вытащить строку в подобном формате, тогда все было бы проще, чем распарсивать значение, а затем его собирать.

Aetae 28.06.2012 08:11

Вроде там как раз можно в UTC формате получать, тогда вообще проблем не будет.

wUI 28.06.2012 08:29

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

В php перед отправкой json строки, обрабатываю переменную с датой так:
$ReceivedDate = str_replace("-", "/", "".$StartDate."");

Aetae 28.06.2012 08:34

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


Часовой пояс GMT +3, время: 20:51.