2015-03-25 3 views
-1

Привет, У меня возникли проблемы с преобразованием asp net DateTime в javascript Date().asp net C# DateTime convert o javascript date

Обычно, когда мы получаем даты из осины сети он имеет формат "/ Date (1427101769000) /" Эта дата в осины сети является "{3/23/2015 9:09:29 AM}"

Так что в этом случае я бы разобрать строку для Millis, а затем использовать яваскрипт Date конструктор с Millis как:

var curDate = new Date(1427101769000); 

Однако это значение становится Mon Mar 23 2015 2:09:29 UTC- 0700 (Тихоокеанское дневное время). Когда он должен был быть {3/23/2015 9:09:29 AM} с сервера.

Любая помощь будет оценена по достоинству. Спасибо!

+2

Вы знакомы с функцией String.Format(), а также функцией Date.ToString() и, возможно, с использованием функции string.Format. В Интернете есть множество примеров в отношении того, как форматировать дату. Вы пробовали поиск в Google ..? – MethodMan

+0

выберите формат даты и времени: https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx – user1666620

ответ

0

"{3/23/2015 9:09:29 AM}"

Вы заметили, что отсутствует из этого выражения? Вторая дата должна дать понять:

«пн 23 марта 2015 2:09:29 GMT-0700 (Переход на тихоокеанское время)»

В частности, первая дата отсутствует часовой пояс. Если в нем отсутствует часовой пояс, предполагается, что он находится в формате UTC (-0000).

Таким образом, оба устройства отображают одно и то же время, только первое из UTC (-0000), а второе - в PDT (-0700). Именно поэтому время PDT показывает часы как 7 часов назад.

Это потому, что время в миллисах основано на времени UNIX, которое основано на количестве секунд с 1 января 1970 года, 12:00 UTC. Будучи миллисекундами вместо секунд, в конце есть дополнительные 3 цифры.

+0

* Причина * Отсутствие часового пояса более мрачное. Предположительно, JavaScript создает новый объект Data, имеющий часовой пояс компьютера, на котором он включен. – Powerlord

0

Конструктор даты JavaScript использует временную метку Unix в миллисекундах в качестве параметра, а браузер/клиент преобразует ее в свой локальный часовой пояс при ее печати в виде строки.