我正在寻找一种在 asp 中更改时区的方法,在搜索时,我认为我们可以通过 web.config 文件来完成,但不知道如何将其设置为与约旦时间同步。
问问题
380 次
1 回答
0
“更改时区”是什么意思?当前时区设置是 Windows 配置文件的属性,因此属于运行 w3wp.exe 进程的用户身份。没有像 CultureInfo 那样的每线程设置。
在我的应用程序中,当我需要自定义时区支持时,我将 TimeZoneInfo 对象存储为应用程序用户设置的一部分(并存储在会话状态中)。在内部,所有日期和时间都是 UTC,我只是在渲染时使用用户的 TimeZoneInfo 实例将这些 UTC 值转换为本地值。我建议你做类似的事情:
// At user login or session start
Session["TimeZone"] = TimeZoneInfo.FindSystemTimeZoneById("Jordan Standard Time");
// Static helper extension method to make local
public static DateTime ToLocal(this DateTime utcDateTime) {
TimeZoneInfo tz = Session["TimeZone"];
return TimeZoneInfo.ConvertTimeFromUtc( utcDateTime, tz );
}
// Use in ASP.NET page
<%= myDateTimeValue.ToLocal() %>
于 2012-06-20T08:00:19.310 回答