System.CurrentSystemTimeZone.ToLocalTime C# (CSharp) Method

ToLocalTime() public method

public ToLocalTime ( System.DateTime time ) : System.DateTime
time System.DateTime
return System.DateTime
        public override DateTime ToLocalTime(DateTime time) {
            if (time.Kind == DateTimeKind.Local) {
                return time;
            }
            Boolean isAmbiguousLocalDst = false;
            Int64 offset = GetUtcOffsetFromUniversalTime(time, ref isAmbiguousLocalDst);
            long tick = time.Ticks + offset;
            if (tick>DateTime.MaxTicks) {
                return new DateTime(DateTime.MaxTicks, DateTimeKind.Local);
            }
            if (tick<DateTime.MinTicks) {
                return new DateTime(DateTime.MinTicks, DateTimeKind.Local);
            }
            return new DateTime(tick, DateTimeKind.Local, isAmbiguousLocalDst);            
        }