2010-05-10 92 views
1

我正在开发使用SQL Report Builder 2.0的报表,在此我将时区偏移值作为参数(-04:00)传递。使用“TimeZoneInfo”我可以从系统获得所有时区。但我正在用偏移值检查时区,所以从可用列表中我只能得到第一个时区对象。Report Builder 2.0:如何获取正确的时区信息

是否有任何其他方式从系统获取特定的TimezoneInfo。

感谢, 威拉

回答

0

这将返回时差。 System.TimeZone.CurrentTimeZone.GetUtcOffset(now())

这将返回本地时间。 System.TimeZone.CurrentTimeZone.ToLocalTime(NOW())

这将显示时区名称 System.TimeZone.CurrentTimeZone.StandardName

当运行在服务器上的报告,它会显示服务器的时区。处理这个问题的一个快速方法是只显示时区名称&。

如果您确实必须向每个用户显示其当地时间,则应该将UTC偏移量存储在数据库中的某个地理位置表(即办公室或位置)中。您也可以将其与用户名称(用户ID是SSRS中提供的全局变量)进行存储,但这将更具维护性。