我需要读取用户(客户端计算机)本地时间。但我不想从客户机器时间读取它。用户可以在他/她的PC中调整时间。
这就是我的想法。
读取IP地址
public static string GetUserIP(System.Web.HttpContext context)
{
string retIPAddress = string.Empty;
string sIPAddress = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (string.IsNullOrEmpty(sIPAddress))
retIPAddress = context.Request.ServerVariables["REMOTE_ADDR"];
else
retIPAddress = sIPAddress.Split(',').FirstOrDefault();
return retIPAddress;
}
从IP地址API读取时区,例如IPInfoDB
private static DateTime CurrentLocalTime()
{
return TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, TimeZoneInfo.FindSystemTimeZoneById("what ever the time zone name returned by API"));
}
这种方法听起来不太可靠,因为时区ID可能与API不匹配。 有没有更好的方法来实现这个?
平台:ASP.NET
答案 0 :(得分:0)
没有可靠的方法从客户机获取时间