DateTimeFormatInfo.AbbreviatedMonthGenitiveNames Property


Gets or sets a string array of abbreviated month names associated with the current DateTimeFormatInfo object.

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

public string[] AbbreviatedMonthGenitiveNames { get; set; }

Property Value

Type: System.String[]

An array of abbreviated month names.

Exception Condition

In a set operation, the array is multidimensional or has a length that is not exactly 13.


In a set operation, the array or one of the elements of the array is null.


In a set operation, the current DateTimeFormatInfo object is read-only.

In some languages, a month name that is part of a date appears in the genitive case. For example, a date in the ru-RU or Russian (Russia) culture consists of the day number and the genitive month name, such as 1 Января (1 January). For these cultures, if a custom format string includes the "MMM" format specifier, the DateTime.ToString or ToString method includes the appropriate member of the AbbreviatedMonthGenitiveNames array in place of the "MMM" in the result string.

In a set operation, the array must be one-dimensional with exactly 13 elements, because Calendar objects accommodate calendars that have 13 months. For calendars that have 12 months, the thirteenth element should be String.Empty. The first element (the element at index zero) represents the first month of the year defined by the Calendar property.

If you set the AbbreviatedMonthGenitiveNames property, you must also set the AbbreviatedMonthNames property.

The following example creates a read/write CultureInfo object that represents the English (United States) culture and assigns abbreviated genitive month names to its AbbreviatedMonthNames and AbbreviatedMonthGenitiveNames properties. It then displays the string representation of dates that include the abbreviated month name of each month in the culture's supported calendar.

using System;
using System.Globalization;

public class Example
   public static void Main()
      CultureInfo ci = CultureInfo.CreateSpecificCulture("en-US");
      DateTimeFormatInfo dtfi = ci.DateTimeFormat;
      dtfi.AbbreviatedMonthNames = new string[] { "of Jan", "of Feb", "of Mar", 
                                                  "of Apr", "of May", "of Jun", 
                                                  "of Jul", "of Aug", "of Sep", 
                                                  "of Oct", "of Nov", "of Dec", "" };  
      dtfi.AbbreviatedMonthGenitiveNames = dtfi.AbbreviatedMonthNames;
      DateTime dat = new DateTime(2012, 5, 28);

      for (int ctr = 0; ctr < dtfi.Calendar.GetMonthsInYear(dat.Year); ctr++)
         Console.WriteLine(dat.AddMonths(ctr).ToString("dd MMM yyyy", dtfi));
// The example displays the following output:
//       28 of May 2012
//       28 of Jun 2012
//       28 of Jul 2012
//       28 of Aug 2012
//       28 of Sep 2012
//       28 of Oct 2012
//       28 of Nov 2012
//       28 of Dec 2012
//       28 of Jan 2013
//       28 of Feb 2013
//       28 of Mar 2013
//       28 of Apr 2013

Universal Windows Platform
Available since 8
.NET Framework
Available since 2.0
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top