예제 #1
0
        public void ConvertByIanaTimezoneShouldBeConvertByWindowsTimezone()
        {
            var now = DateTime.UtcNow;

            TimezoneHelper.ConvertTimeFromUtcByIanaTimeZoneId(now, "Asia/Shanghai")
            .ShouldBe(TimezoneHelper.ConvertFromUtc(now, "China Standard Time"));
        }
예제 #2
0
        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));
        }