2015-12-30 1 views
1

У меня есть поле столбца DateTime в Sql, которое хранит значения как UTC. Теперь у меня есть требование, когда в моих отчетах я должен преобразовать UTC в Local Time в соответствии с географическим положением, откуда пользователь обращается к отчету.Преобразование UTC DateTime с сервера на локальный DateTime на веб-странице

Теперь я знаю, что ToLocalTime() преобразует его в требуемый, но в то же время он преобразуется в место, где приложение развернуто i.e Server, а не Географическое местоположение пользователя.

Вот мой фрагмент кода ..

<td>@string.Format("{0:yyyy-MMM-dd HH:mm:ss}", user.StatusDateTime.ToLocalTime())</td> 

Я использую Razor View и javascript/jquery в интерфейсе пользователя.
Каким будет возможное решение?

+0

Что вы пробовали и на каком языке вы отметили вопрос? – Xotic750

+0

@ Xotic750 Datetime необходимо отобразить в jquery Datatable. И поскольку я использую Razor, поэтому внутри используется фрагмент ToLocalTime(), Pls видит обновленное сообщение. – Lara

+0

http://stackoverflow.com/questions/6525538/convert-utc-date-time-to-local-date-time-using-javascript –

ответ

1

Хорошо, что вы можете сделать, передать дату в представление (без .ToLocalTime()), а затем использовать JavaScript для рендеринга локальной даты, как показано на ссылке.

<script>document.write(new Date('@user.StatusDateTime.ToString("yyyy-MM-dd hh:mm:ss UTC")').toString());</script> 

Обратите внимание на .ToString("yyyy-MM-dd hh:mm:ss UTC") удовлетворить JavaScript (я предполагаю, что есть лучшие способы).

Редактировать

Если вы хотите, чтобы показать дату в каком-то определенном формате (например 2015-Dec-22 12:11:38), вы можете использовать пользовательские JavaScript функцию. Вот пример.

function getFormattedLocalDate(utcDateString) { 
    var date = new Date(utcDateString); 
    var months = [ 
     "Jan", "Feb", "Mar", "Apr", "May", "Jun", 
     "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" 
    ]; 
    var formattedDate = date.getFullYear() + '-' + months[date.getMonth()] + '-' + date.getDate() + ' ' + date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds(); 
    return formattedDate; 
} 

Посмотри live. Использование

Edit 2

Sample внутри HTML таблицы here.

+0

Итак, этот код javascript преобразует дату и время сервера UTC в геотаргетирование местоположения пользователя datetime? – Lara

+0

Почему бы вам не попробовать? :) –

+0

Хорошо. Я попробую – Lara

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