我需要根据用户时区获取用户时区并显示日期时间。 如果用户保存一些数据,日志将保存在数据库中,用户可以看到日志,但我需要根据用户登录的位置显示日期时间。
答案 0 :(得分:1)
实现此目的的常用方案是以UTC格式存储所有日期,然后在客户端代码中转换为本地时区(javacsript / jquery /您想要使用的其他任何javascript框架)。
一个简单的控制器动作,演示了保存utc日期:
[HttpPost]
public ActionResult SaveDate()
{
try
{
_dateRepository.Save(DateTime.UtcNow);
return Index(date);
}
catch (Exception ex)
{
_log.Error(ex.Message, ex);
}
}
然后在加载要显示数据的页面时,您可以使用脚本将时间转换为详细here的本地时区:
var localDateTime = utcDateTime.ToString();
然后,您将向用户显示javascript转换的数据。这允许您以统一格式保存所有日期,而不必担心跟踪时区信息。