Noda Time
Show / Hide Table of Contents

Class Resolvers

Commonly-used implementations of the delegates used in resolving a LocalDateTime to a ZonedDateTime, and a method to combine two "partial" resolvers into a full one.
Since 1.0.x
Availability netstandard2.0
Inheritance
Object
Resolvers
Inherited Members
Object.Equals(Object)
Object.Equals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()
Object.ReferenceEquals(Object, Object)
Object.ToString()
Namespace: NodaTime.TimeZones
Assembly: NodaTime.dll
Syntax
public static class Resolvers
Remarks

This class contains predefined implementations of ZoneLocalMappingResolver, AmbiguousTimeResolver, and SkippedTimeResolver, along with CreateMappingResolver(AmbiguousTimeResolver, SkippedTimeResolver), which produces a ZoneLocalMappingResolver from instances of the other two.

Properties

LenientResolver

A ZoneLocalMappingResolver which never throws an exception due to ambiguity or skipped time.
Since 1.0.x
Availability netstandard2.0
Declaration
public static ZoneLocalMappingResolver LenientResolver { get; }
Property Value
Type Description
ZoneLocalMappingResolver A ZoneLocalMappingResolver which never throws an exception due to ambiguity or skipped time.
Remarks
Ambiguity is handled by returning the earlier occurrence, and skipped times are shifted forward by the duration of the gap. This resolver combines ReturnEarlier and ReturnForwardShifted.

Note: The behavior of this resolver was changed in version 2.0 to fit the most commonly seen real-world usage pattern. Previous versions combined the ReturnLater and ReturnStartOfIntervalAfter resolvers, which can still be used separately if desired.

See Also
AtLeniently(LocalDateTime)

ReturnEarlier

An AmbiguousTimeResolver which returns the earlier of the two matching times.
Since 1.0.x
Availability netstandard2.0
Declaration
public static AmbiguousTimeResolver ReturnEarlier { get; }
Property Value
Type Description
AmbiguousTimeResolver An AmbiguousTimeResolver which returns the earlier of the two matching times.

ReturnEndOfIntervalBefore

A SkippedTimeResolver which returns the final tick of the time zone interval before the "gap".
Since 1.0.x
Availability netstandard2.0
Declaration
public static SkippedTimeResolver ReturnEndOfIntervalBefore { get; }
Property Value
Type Description
SkippedTimeResolver A SkippedTimeResolver which returns the final tick of the time zone interval before the "gap".

ReturnForwardShifted

A SkippedTimeResolver which shifts values in the "gap" forward by the duration of the gap (which is usually 1 hour). This corresponds to the instant that would have occured, had there not been a transition.
Since 2.0.x
Availability netstandard2.0
Declaration
public static SkippedTimeResolver ReturnForwardShifted { get; }
Property Value
Type Description
SkippedTimeResolver A SkippedTimeResolver which shifts values in the "gap" forward by the duration of the gap (which is usually 1 hour).

ReturnLater

An AmbiguousTimeResolver which returns the later of the two matching times.
Since 1.0.x
Availability netstandard2.0
Declaration
public static AmbiguousTimeResolver ReturnLater { get; }
Property Value
Type Description
AmbiguousTimeResolver An AmbiguousTimeResolver which returns the later of the two matching times.

ReturnStartOfIntervalAfter

A SkippedTimeResolver which returns the first tick of the time zone interval after the "gap".
Since 1.0.x
Availability netstandard2.0
Declaration
public static SkippedTimeResolver ReturnStartOfIntervalAfter { get; }
Property Value
Type Description
SkippedTimeResolver A SkippedTimeResolver which returns the first tick of the time zone interval after the "gap".

StrictResolver

A ZoneLocalMappingResolver which only ever succeeds in the (usual) case where the result of the mapping is unambiguous.
Since 1.0.x
Availability netstandard2.0
Declaration
public static ZoneLocalMappingResolver StrictResolver { get; }
Property Value
Type Description
ZoneLocalMappingResolver A ZoneLocalMappingResolver which only ever succeeds in the (usual) case where the result of the mapping is unambiguous.
Remarks
If the mapping is ambiguous or skipped, this throws SkippedTimeException or AmbiguousTimeException, as appropriate. This resolver combines ThrowWhenAmbiguous and ThrowWhenSkipped.
See Also
AtStrictly(LocalDateTime)

ThrowWhenAmbiguous

An AmbiguousTimeResolver which simply throws an AmbiguousTimeException.
Since 1.0.x
Availability netstandard2.0
Declaration
public static AmbiguousTimeResolver ThrowWhenAmbiguous { get; }
Property Value
Type Description
AmbiguousTimeResolver An AmbiguousTimeResolver which simply throws an AmbiguousTimeException.

ThrowWhenSkipped

A SkippedTimeResolver which simply throws a SkippedTimeException.
Since 1.0.x
Availability netstandard2.0
Declaration
public static SkippedTimeResolver ThrowWhenSkipped { get; }
Property Value
Type Description
SkippedTimeResolver A SkippedTimeResolver which simply throws a SkippedTimeException.

Methods

CreateMappingResolver(AmbiguousTimeResolver, SkippedTimeResolver)

Combines an AmbiguousTimeResolver and a SkippedTimeResolver to create a ZoneLocalMappingResolver.
Since 1.0.x
Availability netstandard2.0
Declaration
public static ZoneLocalMappingResolver CreateMappingResolver(AmbiguousTimeResolver ambiguousTimeResolver, SkippedTimeResolver skippedTimeResolver)
Parameters
Type Name Description
AmbiguousTimeResolver ambiguousTimeResolver Resolver to use for ambiguous mappings.
SkippedTimeResolver skippedTimeResolver Resolver to use for "skipped" mappings.
Returns
Type Description
ZoneLocalMappingResolver The logical combination of the two resolvers.
Remarks
The ZoneLocalMappingResolver created by this method operates in the obvious way: unambiguous mappings are returned directly, ambiguous mappings are delegated to the given AmbiguousTimeResolver, and "skipped" mappings are delegated to the given SkippedTimeResolver.
In this article
Back to top Generated by DocFX