System.DateTimeFormat.GetRealFormat C# (CSharp) Méthode

GetRealFormat() static private méthode

static private GetRealFormat ( String format, DateTimeFormatInfo dtfi ) : String
format String
dtfi System.Globalization.DateTimeFormatInfo
Résultat String
        internal static String GetRealFormat(String format, DateTimeFormatInfo dtfi)
        {
            String realFormat = null;
            
            switch (format[0])
            {
                case 'd':       // Short Date
                    realFormat = dtfi.ShortDatePattern;
                    break;
                case 'D':       // Long Date
                    realFormat = dtfi.LongDatePattern;
                    break;
                case 'f':       // Full (long date + short time)
                    realFormat = dtfi.LongDatePattern + " " + dtfi.ShortTimePattern;
                    break;
                case 'F':       // Full (long date + long time)
                    realFormat = dtfi.FullDateTimePattern;
                    break;
                case 'g':       // General (short date + short time)
                    realFormat = dtfi.GeneralShortTimePattern;
                    break;
                case 'G':       // General (short date + long time)
                    realFormat = dtfi.GeneralLongTimePattern;
                    break;
                case 'm':
                case 'M':       // Month/Day Date
                    realFormat = dtfi.MonthDayPattern;
                    break;
                case 'o':
                case 'O':
                    realFormat = RoundtripFormat;
                    break;
                case 'r':
                case 'R':       // RFC 1123 Standard                    
                    realFormat = dtfi.RFC1123Pattern;
                    break;
                case 's':       // Sortable without Time Zone Info
                    realFormat = dtfi.SortableDateTimePattern;
                    break;
                case 't':       // Short Time
                    realFormat = dtfi.ShortTimePattern;
                    break;
                case 'T':       // Long Time
                    realFormat = dtfi.LongTimePattern;
                    break;
                case 'u':       // Universal with Sortable format
                    realFormat = dtfi.UniversalSortableDateTimePattern;
                    break;
                case 'U':       // Universal with Full (long date + long time) format
                    realFormat = dtfi.FullDateTimePattern;
                    break;
                case 'y':
                case 'Y':       // Year/Month Date
                    realFormat = dtfi.YearMonthPattern;
                    break;
                default:
                    throw new FormatException(Environment.GetResourceString("Format_InvalidString"));
            }
            return (realFormat);
        }    

Usage Example

        // Token: 0x060015EA RID: 5610 RVA: 0x000410D8 File Offset: 0x0003F2D8
        private static string ExpandPredefinedFormat(string format, ref DateTime dateTime, ref DateTimeFormatInfo dtfi, ref TimeSpan offset)
        {
            char c = format[0];

            if (c != 'U')
            {
                if (c != 's')
                {
                    if (c == 'u')
                    {
                        if (offset != DateTimeFormat.NullOffset)
                        {
                            dateTime -= offset;
                        }
                        else if (dateTime.Kind == DateTimeKind.Local)
                        {
                            DateTimeFormat.InvalidFormatForLocal(format, dateTime);
                        }
                        dtfi = DateTimeFormatInfo.InvariantInfo;
                    }
                }
                else
                {
                    dtfi = DateTimeFormatInfo.InvariantInfo;
                }
            }
            else
            {
                if (offset != DateTimeFormat.NullOffset)
                {
                    throw new FormatException(Environment.GetResourceString("Format_InvalidString"));
                }
                dtfi = (DateTimeFormatInfo)dtfi.Clone();
                if (dtfi.Calendar.GetType() != typeof(GregorianCalendar))
                {
                    dtfi.Calendar = GregorianCalendar.GetDefaultInstance();
                }
                dateTime = dateTime.ToUniversalTime();
            }
            format = DateTimeFormat.GetRealFormat(format, dtfi);
            return(format);
        }