System.TimeZoneInfo.IsAmbiguousTime C# (CSharp) Method

IsAmbiguousTime() public method

public IsAmbiguousTime ( System.DateTime dateTime ) : bool
dateTime System.DateTime
return bool
		public bool IsAmbiguousTime (DateTime dateTime)
		{
			if (dateTime.Kind == DateTimeKind.Local && IsInvalidTime (dateTime))
				throw new ArgumentException ("Kind is Local and time is Invalid");

			if (this == TimeZoneInfo.Utc)
				return false;
			
			if (dateTime.Kind == DateTimeKind.Utc)
				dateTime = ConvertTimeFromUtc (dateTime);

			if (dateTime.Kind == DateTimeKind.Local && this != TimeZoneInfo.Local)
				dateTime = ConvertTime (dateTime, TimeZoneInfo.Local, this);

			AdjustmentRule rule = GetApplicableRule (dateTime);
			if (rule != null) {
				DateTime tpoint = TransitionPoint (rule.DaylightTransitionEnd, dateTime.Year);
				if (dateTime > tpoint - rule.DaylightDelta  && dateTime <= tpoint)
					return true;
			}
				
			return false;
		}

Same methods

TimeZoneInfo::IsAmbiguousTime ( DateTimeOffset dateTimeOffset ) : bool

Usage Example

		static internal TimeSpan GetUtcOffsetFromUtc (DateTime time, TimeZoneInfo zone, out Boolean isDaylightSavings, out Boolean isAmbiguousLocalDst)
		{
			isDaylightSavings = false;
			isAmbiguousLocalDst = false;
			TimeSpan baseOffset = zone.BaseUtcOffset;

			if (zone.IsAmbiguousTime (time)) {
				isAmbiguousLocalDst = true;
				return baseOffset;
			}

			return zone.GetUtcOffset (time, out isDaylightSavings);
		}
All Usage Examples Of System.TimeZoneInfo::IsAmbiguousTime