DateTimeFormatInfo.SetAllDateTimePatterns Method (String[], Char)


Sets the custom date and time format strings that correspond to a specified standard format string.

Namespace:   System.Globalization
Assembly:  mscorlib (in mscorlib.dll)

member SetAllDateTimePatterns : 
        patterns:string[] *
        format:char -> unit


Type: System.String[]

An array of custom format strings.

Type: System.Char

The standard format string associated with the custom format strings specified in the patterns parameter.

Exception Condition

patterns is null or a zero-length array.


format is not a valid standard format string or is a standard format string whose patterns cannot be set.


patterns has an array element whose value is null.


This DateTimeFormatInfo object is read-only.

The SetAllDateTimePatterns method defines the custom format strings that correspond to a particular standard date and time format string. If a call to a date and time formatting method includes the standard date and time format string specified by format, the method uses the first element in the patterns array to define the format of the resulting string.


The Parse and TryParse methods do not fully iterate all strings in patterns when parsing the string representation of a date and time. If you require a date and time string to have particular formats in a parsing operation, you should pass the array of valid formats to the DateTime.ParseExact(String, String[], IFormatProvider, DateTimeStyles), DateTimeOffset.ParseExact(String, String[], IFormatProvider, DateTimeStyles), DateTime.TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime), or DateTimeOffset.TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTimeOffset) method.

You can define custom format strings that correspond to the "d", "D", "t", "T", and "y" or "Y" standard date and time format strings. If the value of format is any other standard format string, the SetAllDateTimePatterns method throws an ArgumentException.

If your custom date and time format strings include date separators, you should explicitly specify a date separator instead of relying on the parsing or formatting method that replaces the "/" custom format specifier with a particular date separator. For example, to obtain the pattern MM-DD-yyyy, use the pattern "MM-DD-yyyy".

The following example instantiates a CultureInfo object that represents the "en-US" (English - United States) culture and uses it to parse an array of date and time strings using the "Y" standard format string. It then uses the SetAllDateTimePatterns method to associate a new custom format string with the "Y" standard format string, and then attempts to parse the array of date and time strings. Output from the example demonstrates that the new custom format string is used in both the parsing and formatting operations.

No code example is currently available or this language may not be supported.

Change History




October 2010

Noted that the array of custom formats is not fully iterated in parsing operations.

Content bug fix.

June 2010

Revised extensively, replaced the example, and added exception information.

Customer feedback.

.NET Framework
Available since 2.0
Return to top