private void AddOffsetParts() { DateTimeFormatsParts.Add("am/pm", new DateTimeFormatPartTO("am/pm", false, "am or pm")); DateTimeFormatPartOptions.Add("am/pm", new List <IDateTimeFormatPartOptionTO> { new DateTimeFormatPartOptionTO(4, CompareTextValueToDateTimePart.IsTextAmPm, false, null, _assignManager.AssignAmPm), new DateTimeFormatPartOptionTO(3, CompareTextValueToDateTimePart.IsTextAmPm, false, null, _assignManager.AssignAmPm), new DateTimeFormatPartOptionTO(2, CompareTextValueToDateTimePart.IsTextAmPm, false, null, _assignManager.AssignAmPm), }); DateTimeFormatsParts.Add("Z", new DateTimeFormatPartTO("Z", false, "Time zone in short format: GMT (if available on the system)")); DateTimeFormatPartOptions.Add("Z", _timeZones.Select(k => { IDateTimeFormatPartOptionTO dateTimeFormatPartOptionTo = new DateTimeFormatPartOptionTO(k.Key.Length, CompareTextValueToDateTimePart.IsTextTimeZone, false, null, _assignManager.AssignTimeZone); return(dateTimeFormatPartOptionTo); }).OrderByDescending(k => k.Length).ToList()); DateTimeFormatsParts.Add("ZZ", new DateTimeFormatPartTO("ZZ", false, "Time zone: Grenwich mean time")); DateTimeFormatPartOptions.Add("ZZ", _timeZones.Select(k => { IDateTimeFormatPartOptionTO dateTimeFormatPartOptionTo = new DateTimeFormatPartOptionTO(k.Key.Length, CompareTextValueToDateTimePart.IsTextTimeZone, false, null, _assignManager.AssignTimeZone); return(dateTimeFormatPartOptionTo); }).OrderByDescending(k => k.Length).ToList()); DateTimeFormatsParts.Add("ZZZ", new DateTimeFormatPartTO("ZZZ", false, "Time zone offset: GMT + 02:00")); DateTimeFormatPartOptions.Add("ZZZ", _timeZones.Select(k => { IDateTimeFormatPartOptionTO dateTimeFormatPartOptionTo = new DateTimeFormatPartOptionTO(k.Key.Length, CompareTextValueToDateTimePart.IsTextTimeZone, false, null, _assignManager.AssignTimeZone); return(dateTimeFormatPartOptionTo); }).OrderByDescending(k => k.Length).ToList()); }
public void Build() { TimeFormatPartOptions = new Dictionary <string, List <IDateTimeFormatPartOptionTO> > { { "yy", new List <IDateTimeFormatPartOptionTO> { new DateTimeFormatPartOptionTO(2, CompareTextValueToDateTimePart.IsTextNumeric, true, null, _assignManager.AssignYears) } }, { "yyyy", new List <IDateTimeFormatPartOptionTO> { new DateTimeFormatPartOptionTO(4, CompareTextValueToDateTimePart.IsTextNumeric, true, null, _assignManager.AssignYears) } }, { "mm", new List <IDateTimeFormatPartOptionTO> { new DateTimeFormatPartOptionTO(2, DatetimeParserHelper.IsNumberMonth, true, null, _assignManager.AssignMonths) } }, { "m", new List <IDateTimeFormatPartOptionTO> { new DateTimeFormatPartOptionTO(2, DatetimeParserHelper.IsNumberMonth, true, null, _assignManager.AssignMonths), new DateTimeFormatPartOptionTO(1, DatetimeParserHelper.IsNumberMonth, true, null, _assignManager.AssignMonths), } }, { "MM", new List <IDateTimeFormatPartOptionTO> { new DateTimeFormatPartOptionTO(2, DatetimeParserHelper.IsNumberMonth, true, null, _assignManager.AssignMonths) } }, { "M", new List <IDateTimeFormatPartOptionTO> { new DateTimeFormatPartOptionTO(2, DatetimeParserHelper.IsNumberMonth, true, null, _assignManager.AssignMonths), new DateTimeFormatPartOptionTO(1, DatetimeParserHelper.IsNumberMonth, true, null, _assignManager.AssignMonths), } }, { "d", new List <IDateTimeFormatPartOptionTO> { new DateTimeFormatPartOptionTO(2, DatetimeParserHelper.IsNumberDay, true, null, _assignManager.AssignDays), new DateTimeFormatPartOptionTO(1, DatetimeParserHelper.IsNumberDay, true, null, _assignManager.AssignDays) } }, { "dd", new List <IDateTimeFormatPartOptionTO> { new DateTimeFormatPartOptionTO(2, DatetimeParserHelper.IsNumberDay, true, null, _assignManager.AssignDays) } }, { "DW", new List <IDateTimeFormatPartOptionTO> { new DateTimeFormatPartOptionTO(1, DatetimeParserHelper.IsNumberDayOfWeek, true, null, _assignManager.AssignDaysOfWeek), } }, { "dW", new List <IDateTimeFormatPartOptionTO> { new DateTimeFormatPartOptionTO(1, DatetimeParserHelper.IsNumberDayOfWeek, true, null, _assignManager.AssignDaysOfWeek), } }, { "dw", new List <IDateTimeFormatPartOptionTO> { new DateTimeFormatPartOptionTO(1, DatetimeParserHelper.IsNumberDayOfWeek, true, null, _assignManager.AssignDaysOfWeek), } }, { "dy", new List <IDateTimeFormatPartOptionTO> { new DateTimeFormatPartOptionTO(3, DatetimeParserHelper.IsNumberDayOfYear, true, null, _assignManager.AssignDaysOfYear), new DateTimeFormatPartOptionTO(2, DatetimeParserHelper.IsNumberDayOfYear, true, null, _assignManager.AssignDaysOfYear), new DateTimeFormatPartOptionTO(1, DatetimeParserHelper.IsNumberDayOfYear, true, null, _assignManager.AssignDaysOfYear) } }, { "w", new List <IDateTimeFormatPartOptionTO> { new DateTimeFormatPartOptionTO(2, DatetimeParserHelper.IsNumberWeekOfYear, true, null, _assignManager.AssignWeeks), new DateTimeFormatPartOptionTO(1, DatetimeParserHelper.IsNumberWeekOfYear, true, null, _assignManager.AssignWeeks), } }, { "24h", new List <IDateTimeFormatPartOptionTO> { new DateTimeFormatPartOptionTO(2, DatetimeParserHelper.IsNumber24H, true, null, _assignManager.Assign24Hours) } }, { "12h", new List <IDateTimeFormatPartOptionTO> { new DateTimeFormatPartOptionTO(2, DatetimeParserHelper.IsNumber12H, true, null, _assignManager.Assign12Hours), new DateTimeFormatPartOptionTO(1, DatetimeParserHelper.IsNumber12H, true, null, _assignManager.Assign12Hours), } }, { "min", new List <IDateTimeFormatPartOptionTO> { new DateTimeFormatPartOptionTO(2, DatetimeParserHelper.IsNumberMinutes, true, null, _assignManager.AssignMinutes), new DateTimeFormatPartOptionTO(1, DatetimeParserHelper.IsNumberMinutes, true, null, _assignManager.AssignMinutes), } }, { "ss", new List <IDateTimeFormatPartOptionTO> { new DateTimeFormatPartOptionTO(2, DatetimeParserHelper.IsNumberSeconds, true, null, _assignManager.AssignSeconds), new DateTimeFormatPartOptionTO(1, DatetimeParserHelper.IsNumberSeconds, true, null, _assignManager.AssignSeconds), } }, { "sp", new List <IDateTimeFormatPartOptionTO> { new DateTimeFormatPartOptionTO(3, DatetimeParserHelper.IsNumberMilliseconds, true, null, _assignManager.AssignMilliseconds), new DateTimeFormatPartOptionTO(2, DatetimeParserHelper.IsNumberMilliseconds, true, null, _assignManager.AssignMilliseconds), new DateTimeFormatPartOptionTO(1, DatetimeParserHelper.IsNumberMilliseconds, true, null, _assignManager.AssignMilliseconds), } }, { "am/pm", new List <IDateTimeFormatPartOptionTO> { new DateTimeFormatPartOptionTO(4, CompareTextValueToDateTimePart.IsTextAmPm, false, null, _assignManager.AssignAmPm), new DateTimeFormatPartOptionTO(3, CompareTextValueToDateTimePart.IsTextAmPm, false, null, _assignManager.AssignAmPm), new DateTimeFormatPartOptionTO(2, CompareTextValueToDateTimePart.IsTextAmPm, false, null, _assignManager.AssignAmPm), } }, { "Z", _timeZones.Select(k => { IDateTimeFormatPartOptionTO dateTimeFormatPartOptionTo = new DateTimeFormatPartOptionTO(k.Key.Length, CompareTextValueToDateTimePart.IsTextTimeZone, false, null, _assignManager.AssignTimeZone); return(dateTimeFormatPartOptionTo); }).OrderByDescending(k => k.Length).ToList() }, { "ZZ", _timeZones.Select(k => { IDateTimeFormatPartOptionTO dateTimeFormatPartOptionTo = new DateTimeFormatPartOptionTO(k.Key.Length, CompareTextValueToDateTimePart.IsTextTimeZone, false, null, _assignManager.AssignTimeZone); return(dateTimeFormatPartOptionTo); }).OrderByDescending(k => k.Length).ToList() }, { "ZZZ", _timeZones.Select(k => { IDateTimeFormatPartOptionTO dateTimeFormatPartOptionTo = new DateTimeFormatPartOptionTO(k.Key.Length, CompareTextValueToDateTimePart.IsTextTimeZone, false, null, _assignManager.AssignTimeZone); return(dateTimeFormatPartOptionTo); }).OrderByDescending(k => k.Length).ToList() }, { "era", new List <IDateTimeFormatPartOptionTO> { new DateTimeFormatPartOptionTO(2, (data, treatAsTim) => data.ToLower().Equals("ad"), false, "AD", _assignManager.AssignEra) } }, { "Era", new List <IDateTimeFormatPartOptionTO> { new DateTimeFormatPartOptionTO(3, (data, treatAsTim) => data.ToLower().Equals("a.d"), false, "A.D", _assignManager.AssignEra) } }, { "ERA", new List <IDateTimeFormatPartOptionTO> { new DateTimeFormatPartOptionTO(4, (data, treatAsTim) => data.ToLower().Equals("a.d."), false, "A.D.", _assignManager.AssignEra) } } }; }