Exemple #1
0
        void InitializeBuilders()
        {
            var timeZoneBuilder = new TimeZoneBuilder.TimeZoneBuilder();

            timeZoneBuilder.Build();
            TimeZones = timeZoneBuilder.TimeZones;

            var formatForwardLookup = new DateTimeFormatForwardLookup();

            formatForwardLookup.Build();
            _dateTimeFormatForwardLookups = formatForwardLookup.DateTimeFormatForwardLookups;

            var dateTimeFormatPart = new DateTimeFormatPart(TimeZones);

            dateTimeFormatPart.Build();
            _dateTimeFormatsParts      = dateTimeFormatPart.DateTimeFormatsParts;
            _dateTimeFormatPartOptions = dateTimeFormatPart.DateTimeFormatPartOptions;

            var timeFormatPartBuilder = new TimeFormatPartBuilder(TimeZones);

            timeFormatPartBuilder.Build();
            _timeFormatPartOptions = timeFormatPartBuilder.TimeFormatPartOptions;

            var forwardLookupsForDotNet = new DateTimeFormatForwardLookupsForDotNet();

            forwardLookupsForDotNet.Build();
            _dateTimeFormatForwardLookupsForDotNet = forwardLookupsForDotNet.DateTimeFormatForwardLookupsForDotNetLu;

            var dateTimeFormatPartsForDotNet = new DateTimeFormatPartsForDotNet();

            dateTimeFormatPartsForDotNet.Build();
            _dateTimeFormatPartOptionsForDotNet = dateTimeFormatPartsForDotNet.DateTimeFormatPartOptionsForDotNet;
        }
 private string GetFormatPartString(DateTimeFormatPart formatPart)
 {
     return(formatPart.Type switch
     {
         DateTimeFormatPartType.FreeText => formatPart.Text,
         DateTimeFormatPartType.DayWithLeadingZero => "dd",
         DateTimeFormatPartType.Day => "d",
         DateTimeFormatPartType.MonthWithLeadingZero => "MM",
         DateTimeFormatPartType.Month => "M",
         DateTimeFormatPartType.YearFull => "yyyy",
         DateTimeFormatPartType.YearShort => "yy",
         DateTimeFormatPartType.MonthName => "MMMM",
         DateTimeFormatPartType.HourWithLeadingZero => "HH",
         DateTimeFormatPartType.Hour => "H",
         DateTimeFormatPartType.Hour12WithLeadingZero => "hh",
         DateTimeFormatPartType.Hour12 => "h",
         DateTimeFormatPartType.MinuteWithLeadingZero => "mm",
         DateTimeFormatPartType.Minute => "m",
         DateTimeFormatPartType.SecondWithLeadingZero => "ss",
         DateTimeFormatPartType.Second => "s",
         DateTimeFormatPartType.AmPm => "AM/PM",
         _ => throw new ArgumentOutOfRangeException(nameof(formatPart)),
     });