Setting different time zone in IIS or web.config
我在许多地方记录时间
1 2 3 4 | If Request.DynamicSettings.AirlineSettings.AirlineGeneralSettings.TimeLogEnabled Then StartTime = DateTime.Now LogTime(Reflection.MethodBase.GetCurrentMethod.DeclaringType.FullName, Reflection.MethodBase.GetCurrentMethod.Name, StartTime, DateTime.Now,"AB-SCR(I)", 0,) End If |
我用过的所有地方
DateTime.Now
我现在面临一个问题,
我目前在海湾服务器托管这个,GMT +4:00
我需要在Gmt + 3Gmt为另一个国家举办同样的项目
对于这个托管我需要时间使用该国家的当地时间记录。
有没有办法做到这一点,而无需修改我的代码的每一行。
我已经看过这篇文章timzone与asp.net,但由于我的服务已经上升,我有很多代码要改变,我正在寻找一个更简单的解决方案。
谢谢。
一些东西:
您无法在IIS配置或web.config中更改时区。这不是IIS问题,而是应用程序代码中的问题。
绝不应在服务器端应用程序中使用
如果您只计算运行时间,请不要使用
1 2 3 4 | Stopwatch sw = Stopwatch.StartNew(); // ...do some work ... sw.Stop(); TimeSpan elapsed = sw.Elapsed; // how long it took will be in the Elapsed property |
如果您确实想要特定时区的当前时间,则需要知道时区标识符。 (GMT + 4和GMT + 3不是时区,而是时区偏移在时区标签wiki中看到"Time Zone!= Offset"。)您可以使用
然后在你的申请中:
1 2 | string tz ="Arabian Standard Time"; DateTime now = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, tz); |
您可能应该重构代码,以便在