【问题标题】:How to identify the timezone of the users [duplicate]如何识别用户的时区[重复]
【发布时间】:2018-08-15 11:40:38
【问题描述】:

我需要获取用户时区并根据用户时区显示日期时间。 如果用户保存一些数据,日志将保存在数据库中,用户可以看到日志,但我需要根据用户登录的位置显示日期时间。

【问题讨论】:

    标签: asp.net-mvc browser timezone


    【解决方案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 转换的数据。这使您可以以统一的格式保存所有日期,而不必担心跟踪时区信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-09
      • 2016-08-21
      • 2017-06-03
      • 2018-05-12
      • 2020-07-16
      相关资源
      最近更新 更多