protected virtual void FormatYear(StringBuilder sb, PersonIdentifierFormatOption option)
        {
            if (option == null)
            {
                throw new ArgumentNullException(nameof(option));
            }
            var withCentury = (option.WithCentury.HasValue && option.WithCentury.Value) || CenturySpecified;

            if (withCentury)
            {
                sb.Append(Century.ToString("00"));
                if (option.CenturySeparated)
                {
                    sb.Append(option.CenturySeparationChar);
                }
            }

            sb.Append(TwoDigitYear.ToString("00"));
        }
Пример #2
0
        private string Format(string expression)
        {
            switch (expression)
            {
            case "F":
            case "f":
                expression = Format("$dddd, $d $MMMM $yyyy $HH:$mm:$ss $g");
                break;

            case "S":
            case "s":
                expression = Format("$yyyy/$MM/$dd $HH:$mm:$ss $g");
                break;

            default:
                expression = Regex.Replace(expression, "\\$d{4}", DateInfo.Days[this.DayOfWeek]);
                expression = Regex.Replace(expression, "\\$d{2}", TwoDigit(Day));
                expression = Regex.Replace(expression, "\\$d{1}", Day.ToString());

                expression = Regex.Replace(expression, "\\$M{4}", DateInfo.Months[(this.Month - 1)]);
                expression = Regex.Replace(expression, "\\$M{2}", TwoDigit(Month));
                expression = Regex.Replace(expression, "\\$M{1}", Month.ToString());

                expression = Regex.Replace(expression, "\\$y{4}", Year.ToString());
                expression = Regex.Replace(expression, "\\$y{2}", TwoDigitYear.ToString());

                expression = Regex.Replace(expression, "\\$H{2}", TwoDigit(Hour));
                expression = Regex.Replace(expression, "\\$H{1}", Hour.ToString());

                expression = Regex.Replace(expression, "\\$h{2}", TwoDigit(Hour12));
                expression = Regex.Replace(expression, "\\$h{1}", Hour12.ToString());

                expression = Regex.Replace(expression, "\\$m{2}", TwoDigit(Minute));
                expression = Regex.Replace(expression, "\\$m{1}", Minute.ToString());

                expression = Regex.Replace(expression, "\\$s{2}", TwoDigit(Seconds));
                expression = Regex.Replace(expression, "\\$s{1}", Seconds.ToString());

                expression = Regex.Replace(expression, "\\$g{1}", this.Daylight);
                break;
            }
            return(expression);
        }