Early Preview
This is currently very much a preview. Please feel free to try things out,
but don't be upset if anything is not yet working. Feedback is welcome over on our
GitHub Dicussions page.
class NodaTime.​Text.​OffsetDateTimePattern
Assembly: NodaTime
Inheritance: object → OffsetDateTimePattern
Implemented Interfaces
Represents a pattern for parsing and formatting <see cref="T:NodaTime.OffsetDateTime" /> values.
Properties
public static
OffsetDateTimePattern
GeneralIso
Gets an invariant offset date/time pattern based on ISO-8601 (down to the second), including offset from UTC.
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).
public static
OffsetDateTimePattern
ExtendedIso
Gets an invariant offset date/time pattern based on ISO-8601 (down to the nanosecond), including offset from UTC.
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.
public static
OffsetDateTimePattern
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.
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>".
public static
OffsetDateTimePattern
FullRoundtrip
Gets an invariant offset date/time pattern based on ISO-8601 (down to the nanosecond)
including offset from UTC and calendar ID.
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.
public
string
PatternText
Gets the pattern text for this pattern, as supplied on creation.
public
OffsetDateTime
TemplateValue
Gets the value used as a template for parsing: any field values unspecified
in the pattern are taken from the template.
public
int
TwoDigitYearMax
Maximum two-digit-year in the template to treat as the current century.
If the value parsed is higher than this, the result is adjusted to the previous century.
This value defaults to 30. To create a pattern with a different value, use <see cref="M:NodaTime.Text.OffsetDateTimePattern.WithTwoDigitYearMax(System.Int32)" /> .
Methods
public
ParseResult<​OffsetDateTime>
Parse​(string text)
Parses the given text value according to the rules of this pattern.
Returns The result of parsing, which may be successful or unsuccessful.
text
The text value to parse.
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.
public
string
Format​(OffsetDateTime value)
Formats the given offset date/time as text according to the rules of this pattern.
Returns The offset date/time formatted according to this pattern.
value
The offset date/time to format.
AppendFormat​(OffsetDateTime value,
System.​Text.​StringBuilder builder)
Formats the given value as text according to the rules of this pattern,
appending to the given <see cref="T:System.Text.StringBuilder" /> .
Returns The builder passed in as <paramref name="builder" /> .
value
The value to format.
builder
The <c>StringBuilder</c> to append to.
public static
OffsetDateTimePattern
Create​(string patternText,
System.​Globalization.​CultureInfo cultureInfo,
OffsetDateTime templateValue)
Creates a pattern for the given pattern text, culture, and template value.
Returns A pattern for parsing and formatting local date/times.
patternText
Pattern text to create the pattern for
cultureInfo
The culture to use in the pattern
templateValue
Template value to use for unspecified fields
Remarks
See the user guide for the available pattern text options.
public static
OffsetDateTimePattern
CreateWithInvariantCulture​(string patternText)
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.
Returns A pattern for parsing and formatting local date/times.
patternText
Pattern text to create the pattern for
Remarks
See the user guide for the available pattern text options.
public static
OffsetDateTimePattern
CreateWithCurrentCulture​(string patternText)
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.
Returns A pattern for parsing and formatting local date/times.
patternText
Pattern text to create the pattern for
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.
public
OffsetDateTimePattern
WithPatternText​(string patternText)
Creates a pattern for the same original localization information as this pattern, but with the specified
pattern text.
Returns A new pattern with the given pattern text.
patternText
The pattern text to use in the new pattern.
public
OffsetDateTimePattern
WithCulture​(System.​Globalization.​CultureInfo cultureInfo)
Creates a pattern for the same original pattern text as this pattern, but with the specified
culture.
Returns A new pattern with the given culture.
cultureInfo
The culture to use in the new pattern.
public
OffsetDateTimePattern
WithTemplateValue​(OffsetDateTime newTemplateValue)
Creates a pattern for the same original pattern text and culture as this pattern, but with
the specified template value.
Returns A new pattern with the given template value.
newTemplateValue
The template value to use in the new pattern.
public
OffsetDateTimePattern
WithCalendar​(CalendarSystem calendar)
Creates a pattern like this one, but with the template value modified to use
the specified calendar system.
Returns A new pattern with a template value in the specified calendar system.
calendar
The calendar system to convert the template value into.
Remarks
<para>
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.
</para>
public
OffsetDateTimePattern
WithTwoDigitYearMax​(int twoDigitYearMax)
Creates a pattern like this one, but with a different <see cref="P:NodaTime.Text.OffsetDateTimePattern.TwoDigitYearMax" /> value.
Returns A new pattern with the specified maximum two-digit-year.
twoDigitYearMax
The value to use for <see cref="P:NodaTime.Text.OffsetDateTimePattern.TwoDigitYearMax" /> in the new pattern, in the range 0-99 inclusive.
public
bool
Equals​(object obj)
Inherited from object
protected
void
Finalize​()
Inherited from object
public
int
GetHashCode​()
Inherited from object
protected
object
MemberwiseClone​()
Inherited from object
public
string
ToString​()
Inherited from object