创建以下特定实例的最便捷方法Microsoft.SharePoint.SPTimeZone
是:
SPTimeZone utc = SPRegionalSettings.GlobalTimeZones
.OfType<SPTimeZone>()
.FirstOrDefault(tz => tz.Information.Bias == 0
&& tz.Information.DaylightBias == 0);
这是我能得到的最好的技巧吗?
这对我来说尤其是个问题,因为我想模拟这部分代码以进行单元测试,并强制其始终返回UTC。该属性GlobalTimeZones
似乎取决于HttpContext.Current
或实际的请求-我在单元测试中没有的先决条件...
注意:我知道只有System.TimeZoneInfo
第三方大会迫使我使用SPTimeZone ...
SPTimeZone
应该是网站的时区,而不是一般的时区类。设置为您提供可用的时区列表,即已安装的时区,并且可能是从数据库中的设置加载的。缺少构造函数是有原因的-您不应该自己创建它。只需将SPWeb.RegionalSettings.TimeZone
当前网络的属性传递给图书馆