Noda Time
Show / Hide Table of Contents

Class OffsetDateTimePattern

Represents a pattern for parsing and formatting OffsetDateTime values.
Since 1.2.x
Availability net45, netstandard1.3
Inheritance
Object
OffsetDateTimePattern
Implements
IPattern<OffsetDateTime>
Inherited Members
Object.ToString()
Object.Equals(Object)
Object.Equals(Object, Object)
Object.ReferenceEquals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()
Namespace: NodaTime.Text
Assembly: NodaTime.dll
Syntax
public sealed class OffsetDateTimePattern : IPattern<OffsetDateTime>

Properties

ExtendedIso

Gets an invariant offset date/time pattern based on ISO-8601 (down to the nanosecond), including offset from UTC.
Since 1.4.x
Availability net45, netstandard1.3
Declaration
public static OffsetDateTimePattern ExtendedIso { get; }
Property Value
Type Description
OffsetDateTimePattern An invariant offset date/time pattern based on ISO-8601 (down to the nanosecond), including offset from UTC. (The value returned is never null.)
Remarks
The calendar system is not parsed or formatted as part of this pattern. It corresponds to a custom pattern of "uuuu'-'MM'-'dd'T'HH':'mm':'ss;FFFFFFFFFo<G>". This will round-trip any values in the ISO calendar, and is available as the "o" standard pattern.

FullRoundtrip

Gets an invariant offset date/time pattern based on ISO-8601 (down to the nanosecond) including offset from UTC and calendar ID.
Since 1.4.x
Availability net45, netstandard1.3
Declaration
public static OffsetDateTimePattern FullRoundtrip { get; }
Property Value
Type Description
OffsetDateTimePattern An invariant offset date/time pattern based on ISO-8601 (down to the nanosecond) including offset from UTC and calendar ID. (The value returned is never null.)
Remarks
The returned pattern corresponds to a custom pattern of "uuuu'-'MM'-'dd'T'HH':'mm':'ss;FFFFFFFFFo<G> '('c')'". This will round-trip any value in any calendar, and is available as the "r" standard pattern.

GeneralIso

Gets an invariant offset date/time pattern based on ISO-8601 (down to the second), including offset from UTC.
Since 1.4.x
Availability net45, netstandard1.3
Declaration
public static OffsetDateTimePattern GeneralIso { get; }
Property Value
Type Description
OffsetDateTimePattern An invariant offset date/time pattern based on ISO-8601 (down to the second), including offset from UTC. (The value returned is never null.)
Remarks
The calendar system is not parsed or formatted as part of this pattern. It corresponds to a custom pattern of "uuuu'-'MM'-'dd'T'HH':'mm':'sso<G>". This pattern is available as the "G" standard pattern (even though it is invariant).

PatternText

Gets the pattern text for this pattern, as supplied on creation.
Since 1.2.x
Availability net45, netstandard1.3
Declaration
public string PatternText { get; }
Property Value
Type Description
String The pattern text for this pattern, as supplied on creation. (The value returned is never null.)

Rfc3339

Gets an invariant offset date/time pattern based on RFC 3339 (down to the nanosecond), including offset from UTC as hours and minutes only.
Since 1.4.x
Availability net45, netstandard1.3
Declaration
public static OffsetDateTimePattern Rfc3339 { get; }
Property Value
Type Description
OffsetDateTimePattern An invariant offset date/time pattern based on RFC 3339 (down to the nanosecond), including offset from UTC as hours and minutes only. (The value returned is never null.)
Remarks
The minutes part of the offset is always included, but any sub-minute component of the offset is lost. An offset of zero is formatted as 'Z', but all of 'Z', '+00:00' and '-00:00' are parsed the same way. The RFC 3339 meaning of '-00:00' is not supported by Noda Time. Note that parsing is case-sensitive (so 'T' and 'Z' must be upper case). The calendar system is not parsed or formatted as part of this pattern. It corresponds to a custom pattern of "uuuu'-'MM'-'dd'T'HH':'mm':'ss;FFFFFFFFFo<Z+HH:mm>".

TemplateValue

Gets the value used as a template for parsing: any field values unspecified in the pattern are taken from the template.
Since 1.2.x
Availability net45, netstandard1.3
Declaration
public OffsetDateTime TemplateValue { get; }
Property Value
Type Description
OffsetDateTime The value used as a template for parsing.

Methods

AppendFormat(OffsetDateTime, StringBuilder)

Formats the given value as text according to the rules of this pattern, appending to the given System.Text.StringBuilder.
Since 2.0.x
Availability net45, netstandard1.3
Declaration
public StringBuilder AppendFormat(OffsetDateTime value, StringBuilder builder)
Parameters
Type Name Description
OffsetDateTime value The value to format.
StringBuilder builder The StringBuilder to append to.
Returns
Type Description
StringBuilder The builder passed in as builder. (The value returned is never null.)
Exceptions
Type Condition
ArgumentNullException builder is null.

Create(String, CultureInfo, OffsetDateTime)

Creates a pattern for the given pattern text, culture, and template value.
Since 1.2.x
Availability net45, netstandard1.3
Declaration
public static OffsetDateTimePattern Create(string patternText, CultureInfo cultureInfo, OffsetDateTime templateValue)
Parameters
Type Name Description
String patternText Pattern text to create the pattern for
CultureInfo cultureInfo The culture to use in the pattern
OffsetDateTime templateValue Template value to use for unspecified fields
Returns
Type Description
OffsetDateTimePattern A pattern for parsing and formatting local date/times. (The value returned is never null.)
Remarks
See the user guide for the available pattern text options.
Exceptions
Type Condition
InvalidPatternException The pattern text was invalid.
ArgumentNullException patternText or cultureInfo is null

CreateWithCurrentCulture(String)

Creates a pattern for the given pattern text in the current culture, using the default template value of midnight January 1st 2000 at an offset of 0.
Since 1.3.x
Availability net45, netstandard1.3
Declaration
public static OffsetDateTimePattern CreateWithCurrentCulture(string patternText)
Parameters
Type Name Description
String patternText Pattern text to create the pattern for
Returns
Type Description
OffsetDateTimePattern A pattern for parsing and formatting local date/times. (The value returned is never null.)
Remarks
See the user guide for the available pattern text options. Note that the current culture is captured at the time this method is called - it is not captured at the point of parsing or formatting values.
Exceptions
Type Condition
InvalidPatternException The pattern text was invalid.
ArgumentNullException patternText is null.

CreateWithInvariantCulture(String)

Creates a pattern for the given pattern text in the invariant culture, using the default template value of midnight January 1st 2000 at an offset of 0.
Since 1.3.x
Availability net45, netstandard1.3
Declaration
public static OffsetDateTimePattern CreateWithInvariantCulture(string patternText)
Parameters
Type Name Description
String patternText Pattern text to create the pattern for
Returns
Type Description
OffsetDateTimePattern A pattern for parsing and formatting local date/times. (The value returned is never null.)
Remarks
See the user guide for the available pattern text options.
Exceptions
Type Condition
InvalidPatternException The pattern text was invalid.
ArgumentNullException patternText is null.

Format(OffsetDateTime)

Formats the given zoned date/time as text according to the rules of this pattern.
Since 1.2.x
Availability net45, netstandard1.3
Declaration
public string Format(OffsetDateTime value)
Parameters
Type Name Description
OffsetDateTime value The zoned date/time to format.
Returns
Type Description
String The zoned date/time formatted according to this pattern. (The value returned is never null.)

Parse(String)

Parses the given text value according to the rules of this pattern.
Since 1.2.x
Availability net45, netstandard1.3
Declaration
public ParseResult<OffsetDateTime> Parse(string text)
Parameters
Type Name Description
String text The text value to parse.
Returns
Type Description
ParseResult<OffsetDateTime> The result of parsing, which may be successful or unsuccessful. (The value returned is never null.)
Remarks
This method never throws an exception (barring a bug in Noda Time itself). Even errors such as the argument being null are wrapped in a parse result.

WithCalendar(CalendarSystem)

Creates a pattern like this one, but with the template value modified to use the specified calendar system.
Since 2.0.x
Availability net45, netstandard1.3
Declaration
public OffsetDateTimePattern WithCalendar(CalendarSystem calendar)
Parameters
Type Name Description
CalendarSystem calendar The calendar system to convert the template value into.
Returns
Type Description
OffsetDateTimePattern A new pattern with a template value in the specified calendar system. (The value returned is never null.)
Remarks

Care should be taken in two (relatively rare) scenarios. Although the default template value is supported by all Noda Time calendar systems, if a pattern is created with a different template value and then this method is called with a calendar system which doesn't support that date, an exception will be thrown. Additionally, if the pattern only specifies some date fields, it's possible that the new template value will not be suitable for all values.

Exceptions
Type Condition
ArgumentNullException calendar is null.

WithCulture(CultureInfo)

Creates a pattern for the same original pattern text as this pattern, but with the specified culture.
Since 1.2.x
Availability net45, netstandard1.3
Declaration
public OffsetDateTimePattern WithCulture(CultureInfo cultureInfo)
Parameters
Type Name Description
CultureInfo cultureInfo The culture to use in the new pattern.
Returns
Type Description
OffsetDateTimePattern A new pattern with the given culture. (The value returned is never null.)
Exceptions
Type Condition
ArgumentNullException cultureInfo is null.

WithPatternText(String)

Creates a pattern for the same original localization information as this pattern, but with the specified pattern text.
Since 1.2.x
Availability net45, netstandard1.3
Declaration
public OffsetDateTimePattern WithPatternText(string patternText)
Parameters
Type Name Description
String patternText The pattern text to use in the new pattern.
Returns
Type Description
OffsetDateTimePattern A new pattern with the given pattern text. (The value returned is never null.)
Exceptions
Type Condition
ArgumentNullException patternText is null.

WithTemplateValue(OffsetDateTime)

Creates a pattern for the same original pattern text and culture as this pattern, but with the specified template value.
Since 1.2.x
Availability net45, netstandard1.3
Declaration
public OffsetDateTimePattern WithTemplateValue(OffsetDateTime newTemplateValue)
Parameters
Type Name Description
OffsetDateTime newTemplateValue The template value to use in the new pattern.
Returns
Type Description
OffsetDateTimePattern A new pattern with the given template value. (The value returned is never null.)

Implements

IPattern<T>
In this article
Back to top Generated by DocFX