/// <summary> /// Creates a pattern for the given pattern text, format info, and template value. /// </summary> /// <param name="patternText">Pattern text to create the pattern for</param> /// <param name="formatInfo">The format info to use in the pattern</param> /// <param name="templateValue">Template value to use for unspecified fields</param> /// <returns>A pattern for parsing and formatting zoned date/times.</returns> /// <exception cref="InvalidPatternException">The pattern text was invalid.</exception> private static OffsetDateTimePattern Create(string patternText, NodaFormatInfo formatInfo, OffsetDateTime templateValue) { Preconditions.CheckNotNull(patternText, nameof(patternText)); Preconditions.CheckNotNull(formatInfo, nameof(formatInfo)); var pattern = new OffsetDateTimePatternParser(templateValue).ParsePattern(patternText, formatInfo); return(new OffsetDateTimePattern(patternText, formatInfo, templateValue, pattern)); }