public void ConvertByIanaTimezoneShouldBeConvertByWindowsTimezone() { var now = DateTime.UtcNow; TimezoneHelper.ConvertTimeFromUtcByIanaTimeZoneId(now, "Asia/Shanghai") .ShouldBe(TimezoneHelper.ConvertFromUtc(now, "China Standard Time")); }
public static DateTime?ConvertForUtcUsingUserConfiguration(DateTime?date) { if (!date.HasValue) { return(null); } var applicationContext = DependencyResolver.Resolve <IApplicationContext>(); if (applicationContext.Configuration.Clock.Provider != "utcClockProvider") { return(date); } if (applicationContext.Configuration.Timing.TimeZoneInfo?.Windows?.TimeZoneId == null) { return(date); } return(TimezoneHelper.ConvertFromUtc(date.Value.ToUniversalTime(), applicationContext.Configuration.Timing.TimeZoneInfo.Windows.TimeZoneId)); }