clojure.lang.Printf.FormatSpecificierChunk.PrintDateTime C# (CSharp) Метод

PrintDateTime() приватный Метод

private PrintDateTime ( StringBuilder sb, System.DateTime dt ) : void
sb StringBuilder
dt System.DateTime
Результат void
            private void PrintDateTime(StringBuilder sb, DateTime dt)
            {
                string format = "";

                switch (_conversion)
                {

                    case DateTimeConv.HourOfDay0: // = 'H' (00 - 23)
                        format = "HH";
                        break;

                    case DateTimeConv.Hour0: //  = 'I' (01 - 12)
                        format = "hh";
                        break;

                    case DateTimeConv.HourOfDay: //  = 'k' (0 - 23) -- like H
                       format = "%H";
                        break;

                    case DateTimeConv.Hour: //  = 'l' (1 - 12) -- like I
                        format = "%h";
                        break;

                    case DateTimeConv.Minute: //  = 'M' (00 - 59)
                        format = "mm";
                        break;

                    case DateTimeConv.Nanosecond: //  = 'N' (000000000 - 999999999)
                        sb.Append(((dt - new DateTime(dt.Year, dt.Month, dt.Day, dt.Hour, dt.Minute, dt.Second, dt.Millisecond)).Ticks * 100).ToString("D9"));
                        return;

                    case DateTimeConv.Millisecond: //  = 'L' jdk, not in gnu (000 - 999)
                        format = "fff";
                        break;

                    case DateTimeConv.MillisecondSinceEpoch: //  = 'Q' (0 - 99...?)
                        TimeSpan ts = dt - Epoch;
                        sb.Append((long)ts.TotalMilliseconds);
                        return;

                    case DateTimeConv.AmOrPm: //  = 'p' (am or pm)
                        format = "tt";
                        break;

                    case DateTimeConv.SecondsSinceEpoch: //  = 's' (0 - 99...?)
                        ts = dt - Epoch;
                        sb.Append((long)ts.TotalSeconds);
                        return;

                    case DateTimeConv.Second: //  = 'S' (00 - 60 - leap second)
                        format = "ss";
                        break;

                    case DateTimeConv.Time: //  = 'T' (24 hour hh:mm:ss)
                        format = "HH:mm:ss";
                        break;

                    case DateTimeConv.ZoneNumeric: //  = 'z' (-1200 - +1200) - ls minus
                        // TODO: This is not exactly the same as the Java version
                        format = "%K";
                        break;

                    case DateTimeConv.Zone: //  = 'Z' (symbol)
                        // Can't do this directly from DateTime.
                        return;

                    // Date
                    case DateTimeConv.NameOfDayAbbrev: //  = 'a' 'a'
                        format = "ddd";
                        break;

                    case DateTimeConv.NameOfDay: //  = 'A' 'A'
                        format = "dddd";
                        break;

                    case DateTimeConv.NameOfMonthAbbrev: //  = 'b' 'b'
                    case DateTimeConv.NameOfMonthAbbrevX: //  = 'h' -- same b
                        format = "MMM";
                        break;

                    case DateTimeConv.NameOfMonth: //  = 'B' 'B'
                        format = "MMMM";
                        break;

                    case DateTimeConv.Century: //  = 'C' (00 - 99)
                        sb.Append((dt.Year / 100).ToString("D2"));
                        return;

                    case DateTimeConv.DayOfMonth0: //  = 'd' (01 - 31)
                        format = "dd";
                        break;

                    case DateTimeConv.DayOfMonth: //  = 'e' (1 - 31) -- like d
                        format = "%d";
                        break;

                    case DateTimeConv.DayOfYear: //  = 'j' (001 - 366)
                        sb.Append(dt.DayOfYear.ToString("D3"));
                        return;

                    case DateTimeConv.Month: //  = 'm' (01 - 12)
                        format = "MM";
                        break;

                    case DateTimeConv.Year2: //  = 'y' (00 - 99)
                        format = "yy";
                        break;

                    case DateTimeConv.Year4: //  = 'Y' (0000 - 9999)
                        format = "yyyy";
                        break;

                    // Composites
                    case DateTimeConv.Time12Hour: //  = 'r' (hh:mm:ss [AP]M)
                        format = "hh:mm:ss tt";
                        break;

                    case DateTimeConv.Time24Hour: //  = 'R' (hh:mm same as %H:%M)
                        format = "HH:mm";
                        break;

                    case DateTimeConv.DateTime: // 'c' (Sat Nov 04 12:02:33 EST 1999)
                        format = "r";
                        break;

                    case DateTimeConv.Date: // 'D' (mm/dd/yy)
                        format = "MM/dd/yy";
                        break;

                    case DateTimeConv.IsoStandardDate: //  'F' (%Y-%m-%d)
                        format = "yyyy-MM-dd";
                        break;
                }
                sb.Append(dt.ToString(format));
            }

Same methods

Printf.FormatSpecificierChunk::PrintDateTime ( StringBuilder sb, object arg ) : void