我喜欢使用浏览器/系统时间和时区或让他们选择其时区的想法。在过去的项目中,我使用了以下内容:<script language="javascript">function checkClientTimeZone(){ // Set the client time zone var dt = new Date(); SetCookieCrumb("ClientDateTime", dt.toString()); var tz = -dt.getTimezoneOffset(); SetCookieCrumb("ClientTimeZone", tz.toString()); // Expire in one year dt.setYear(dt.getYear() + 1); SetCookieCrumb("expires", dt.toUTCString());}// Attach to the document onload eventcheckClientTimeZone();</script>然后在服务器上:/// <summary>/// Returns the client (if available in cookie) or server timezone./// </summary>public static int GetTimeZoneOffset(HttpRequest Request){ // Default to the server time zone TimeZone tz = TimeZone.CurrentTimeZone; TimeSpan ts = tz.GetUtcOffset(DateTime.Now); int result = (int) ts.TotalMinutes; // Then check for client time zone (minutes) in a cookie HttpCookie cookie = Request.Cookies["ClientTimeZone"]; if (cookie != null) { int clientTimeZone; if (Int32.TryParse(cookie.Value, out clientTimeZone)) result = clientTimeZone; } return result;}或者,您可以将其作为URL参数传递并在Page_Load中进行处理:http://host/page.aspx?tz=-360请记住要使用分钟,因为并非所有时区都是整个小时。