/// <summary> /// Creates a pattern for the given pattern text, format info, template value, mapping resolver and time zone provider. /// </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> /// <param name="resolver">Resolver to apply when mapping local date/time values into the zone.</param> /// <param name="zoneProvider">Time zone provider, used when parsing text which contains a time zone identifier.</param> /// <returns>A pattern for parsing and formatting zoned date/times.</returns> /// <exception cref="InvalidPatternException">The pattern text was invalid.</exception> private static ZonedDateTimePattern Create(string patternText, NodaFormatInfo formatInfo, ZoneLocalMappingResolver?resolver, IDateTimeZoneProvider?zoneProvider, ZonedDateTime templateValue) { Preconditions.CheckNotNull(patternText, nameof(patternText)); Preconditions.CheckNotNull(formatInfo, nameof(formatInfo)); var pattern = new ZonedDateTimePatternParser(templateValue, resolver, zoneProvider).ParsePattern(patternText, formatInfo); return(new ZonedDateTimePattern(patternText, formatInfo, templateValue, resolver, zoneProvider, pattern)); }
/// <summary> /// Creates a pattern for the given pattern text, format info, template value, mapping resolver and time zone provider. /// </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> /// <param name="resolver">Resolver to apply when mapping local date/time values into the zone.</param> /// <param name="zoneProvider">Time zone provider, used when parsing text which contains a time zone identifier.</param> /// <returns>A pattern for parsing and formatting zoned date/times.</returns> /// <exception cref="InvalidPatternException">The pattern text was invalid.</exception> internal static ZonedDateTimePattern Create(string patternText, NodaFormatInfo formatInfo, ZoneLocalMappingResolver resolver, IDateTimeZoneProvider zoneProvider, ZonedDateTime templateValue) { Preconditions.CheckNotNull(patternText, "patternText"); Preconditions.CheckNotNull(formatInfo, "formatInfo"); Preconditions.CheckNotNull(resolver, "resolver"); var pattern = new ZonedDateTimePatternParser(templateValue, resolver, zoneProvider).ParsePattern(patternText, formatInfo); return(new ZonedDateTimePattern(patternText, formatInfo, templateValue, resolver, zoneProvider, pattern)); }