C # UTC для пользователей по местному времени

У меня есть сайт, на котором пользователи могут создавать сообщения. Пользователи могут быть со всего мира, поэтому, когда они публикуют сообщения, я сохраняю опубликованную дату как DateTime.UtcNow. Я использую JQuery время от времени, чтобы показать опубликованную дату, подобную переполнению стека (1 мин. Назад и т. Д.). Но я не уверен, как преобразовать на сегодняшний день я сохранил в системе локальное время пользователя? Вот что я использую:

public static MvcHtmlString ConvertToLocalTime(this HtmlHelper htmlHelper, DateTime date) { DateTime convertedDate = DateTime.SpecifyKind(DateTime.Parse(date.ToString()),DateTimeKind.Utc); return MvcHtmlString.Create(convertedDate.ToLocalTime().ToString()); } 

Это позволяет преобразовать время в локальное время сервера, но мне нужно это для локального пользователя. Что я делаю неправильно? Я использую .NET MVC 2 и .NET 4.0

В общем, вы не будете знать точный часовой пояс пользователя на стороне сервера. Вместо того, чтобы пытаться конвертировать в локальное время пользователя на стороне сервера, отправьте время клиенту в UTC и попросите клиента преобразовать время. Плагин TimeAgo делает это автоматически, если вы даете ему время в полном формате ISO8601:

 July 17, 2008 

Знак Z в конце временной метки важен; это означает UTC.

У вас есть культура для текущего пользователя? Если это так, вы можете преобразовать их в свой часовой пояс, используя код из C #. Преобразование времени UTC / GMT в локальное время