public TimeZoneImplementation( Moment effectiveTo, TimeSpan standardUtcOffset, AbstractDaylightSavingsAdjustment daylightSavingsAdjustment, TimeZoneAbbreviationFormat timeZoneAbbreviationFormat, Guid?id = null) { EffectiveTo = effectiveTo; StandardUtcOffset = standardUtcOffset; DaylightSavingsAdjustment = daylightSavingsAdjustment; TimeZoneAbbreviationFormat = timeZoneAbbreviationFormat; Id = id ?? Guid.NewGuid(); }
public TimeSpan GetDstOffset(Moment moment) { TimeZoneImplementation effectiveImplementation = GetEffectiveImplementation(moment); TimeSpan rawOffset = GetRawOffset(moment); // Guard: if the effectiveImplementation has no Daylight Savings Adjustment if (null == effectiveImplementation.DaylightSavingsAdjustment) { return(TimeSpan.Zero); } AbstractDaylightSavingsAdjustment daylightSavingsAdjustment = effectiveImplementation.DaylightSavingsAdjustment; TimeSpan dstOffset = daylightSavingsAdjustment.GetAdjustmentToStandardOffset(rawOffset, moment); return(dstOffset); }