如何为我的ASP.NET(MVC)应用程序设置时区

如何为我的ASP.NET(MVC)应用程序设置时区,asp.net,datetime,timezone,Asp.net,Datetime,Timezone,我的应用程序托管在时区的服务器上,与我的应用程序不同。数据库中的所有日期对于我的时区都不正确。 如何为应用程序设置时区,或者如何将日期转换为输出时的时区不要为流程设置时区-使用.NET 3.5及更高版本执行相关转换 当然,这假设您知道数据将从数据库返回的时区。。。数据库记录通常以UTC格式保存,但并不总是…有一种非常简单的方法。只需获取当前UTC时间和时区。将UTC转换为您的时区。这是你怎么做的 DateTime date1 = DateTime.UtcNow;

我的应用程序托管在时区的服务器上,与我的应用程序不同。数据库中的所有日期对于我的时区都不正确。
如何为应用程序设置时区,或者如何将日期转换为输出时的时区

不要为流程设置时区-使用.NET 3.5及更高版本执行相关转换


当然,这假设您知道数据将从数据库返回的时区。。。数据库记录通常以UTC格式保存,但并不总是…

有一种非常简单的方法。只需获取当前UTC时间和时区。将UTC转换为您的时区。这是你怎么做的

 DateTime date1 = DateTime.UtcNow;                   
 TimeZoneInfo tz = TimeZoneInfo.FindSystemTimeZoneById("YOUR TIME ZONE (e.g. Pakistan Standard Time)");               
 DateTime date2 = TimeZoneInfo.ConvertTime(date1, tz); 

在tz中设置时区,然后在任何地方使用“date2”。

只需添加,将数据库中的所有日期保留为UTC,并在需要显示时进行转换。如何处理报告,尤其是按日期分组?对于UTC,某些事实在一天内,但对于当地时间,相同的事实可能在两天内分开:(