Примечание: Вопрос был обновлен для ясностиКак установить дату объекта moment.js на дату сервера при разборе MS ASP.NET JSON Date?
У меня есть приложение, которое находится на сервере в EST. Я использую приложение MVC5 с Entity Framework 6 и jQuery DataTables для отображения моих индексных страниц. Я использую moment.js для анализа даты .NET JSON.
Сервер расположен в EST, а пользователи - на EST. Однако всякий раз, когда я даю дату в jQuery DataTable, используя код ниже, я получаю дату плюс двенадцать часов. (Т.е. если на MS SQL Server поле DATETIME является '03/31/2015 00:00:00' , он будет отображать '03/31/2015 12:00:00' .)
localOutput.Append(column.ColumnType == "DateTime" ? "\"render\": function(data, type, row) { if (data) { return moment(data).zone(" + TimeZoneInfo.Local.GetUtcOffset(DateTime.UtcNow) + ").format(\"MM/DD/YYYY" + (column.Name == "Date" ? " hh:mm" : (column.Name == "Timestamp" ? " hh:mm:ss" : "")) + "\"); } else { return null; }}, " : "");
Первоначально , Я спросил, как получить UTC смещение, считая, что ошибка была связана с тем, что она переходила из UTC в местное время и добавляла разницу. Однако EST составляет только -5 от UTC, а не +12 часов. Я попытался изменить зону в moment.js, используя код выше, и он просто возвращает нечетное число. Некоторые из них будут '03/31/2015 04:00:00 ', а другие будут '03/31/2015 05:00:00'.
Я сейчас нахожусь в недоумении, как это решить. Я попытался сделать простой путь и просто вычитал 12 часов с даты, но это возвращает '03/31/2015 04:00:00 ', который вычитается всего за 8 часов.
Любые идеи о том, как я могу правильно это решить? Что мне здесь не хватает?
будет ли это работать? https://msdn.microsoft.com/en-us/library/system.timezone.getutcoffset%28v=vs.110%29.aspx –
Я попытался использовать его, но он не указан как известный метод класса TimeZone. Я ссылаюсь на систему, как говорится в документации. Итак, я действительно не уверен. –
Некоторые смещения часового пояса не являются целым числом часов: [Список часовых поясов базы данных tz] (http://en.wikipedia.org/wiki/List_of_tz_database_time_zones). –