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格式向客户端发送时间并让客户端转换时间。 只要您以完整的ISO8601格式给出时间,TimeAgo插件就会自动执行此操作:
July 17, 2008
时间戳结束时的Z
很重要; 这意味着UTC。
您是否拥有当前用户的文化? 如果是这样,您可以使用C#中的代码转换为他们的时区- 将UTC / GMT时间转换为当地时间
- entity framework和DbContext – 对象跟踪
- Parallel.For和Break()误会?
- 表单身份validation添加其他信息以及ReturnUrl
- 使用C#匿名类型
- 是否有更好(更简单)的方法来获取特定域的SID?
- IIS 7.x,添加启用HTTPS的站点:SiteCollection.Add(string,string,string,byte )重载
- 更新ConcurrentDictionary中的值字段
- MemoryMappedFile.CreateFromFile始终抛出UnauthorizedAccessException
- WPF自定义控件,DependencyProperty问题