แก้ไข

แชร์ผ่าน


DateTimeFormatInfo.MonthGenitiveNames Property

Definition

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

public:
 property cli::array <System::String ^> ^ MonthGenitiveNames { cli::array <System::String ^> ^ get(); void set(cli::array <System::String ^> ^ value); };
public string[] MonthGenitiveNames { get; set; }
[System.Runtime.InteropServices.ComVisible(false)]
public string[] MonthGenitiveNames { get; set; }
member this.MonthGenitiveNames : string[] with get, set
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.MonthGenitiveNames : string[] with get, set
Public Property MonthGenitiveNames As String()

Property Value

String[]

A string array of month names.

Attributes

Exceptions

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 its elements is null.

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

Examples

The following example demonstrates several methods and properties that specify date and time format patterns, native calendar name, and full and abbreviated month and day names.

string[] myDateTimePatterns = ["MM/dd/yy", "MM/dd/yyyy"];

// Get the en-US culture.
CultureInfo ci = new("en-US");
// Get the DateTimeFormatInfo for the en-US culture.
DateTimeFormatInfo dtfi = ci.DateTimeFormat;

// Display the effective culture.
Console.WriteLine("This code example uses the {0} culture.", ci.Name);

// Display the native calendar name.
Console.WriteLine("\nNativeCalendarName...");
Console.WriteLine($"\"{dtfi.NativeCalendarName}\"");

// Display month genitive names.
Console.WriteLine("\nMonthGenitiveNames...");
foreach (string name in dtfi.MonthGenitiveNames)
{
    Console.WriteLine($"\"{name}\"");
}

// Display abbreviated month genitive names.
Console.WriteLine("\nAbbreviatedMonthGenitiveNames...");
foreach (string name in dtfi.AbbreviatedMonthGenitiveNames)
{
    Console.WriteLine($"\"{name}\"");
}

// Display shortest day names.
Console.WriteLine("\nShortestDayNames...");
foreach (string name in dtfi.ShortestDayNames)
{
    Console.WriteLine($"\"{name}\"");
}

// Display shortest day name for a particular day of the week.
Console.WriteLine("\nGetShortestDayName(DayOfWeek.Sunday)...");
Console.WriteLine($"\"{dtfi.GetShortestDayName(DayOfWeek.Sunday)}\"");

// Display the initial DateTime format patterns for the 'd' format specifier.
Console.WriteLine("\nInitial DateTime format patterns for the 'd' format specifier...");
foreach (string name in dtfi.GetAllDateTimePatterns('d'))
{
    Console.WriteLine($"\"{name}\"");
}

// Change the initial DateTime format patterns for the 'd' DateTime format specifier.
Console.WriteLine("\nChange the initial DateTime format patterns for the \n" +
                  "'d' format specifier to my format patterns...");
dtfi.SetAllDateTimePatterns(myDateTimePatterns, 'd');

// Display the new DateTime format patterns for the 'd' format specifier.
Console.WriteLine("\nNew DateTime format patterns for the 'd' format specifier...");
foreach (string name in dtfi.GetAllDateTimePatterns('d'))
{
    Console.WriteLine($"\"{name}\"");
}

/*
Output:

This code example uses the en-US culture.

NativeCalendarName...
"Gregorian Calendar"

MonthGenitiveNames...
"January"
"February"
"March"
"April"
"May"
"June"
"July"
"August"
"September"
"October"
"November"
"December"
""

AbbreviatedMonthGenitiveNames...
"Jan"
"Feb"
"Mar"
"Apr"
"May"
"Jun"
"Jul"
"Aug"
"Sep"
"Oct"
"Nov"
"Dec"
""

ShortestDayNames...
"S"
"M"
"T"
"W"
"T"
"F"
"S"

GetShortestDayName(DayOfWeek.Sunday)...
"S"

Initial DateTime format patterns for the 'd' format specifier...
"M/d/yyyy"
"MMM d, yyyy"
"M/d/yy"

Change the initial DateTime format patterns for the
'd' format specifier to my format patterns...

New DateTime format patterns for the 'd' format specifier...
"MM/dd/yy"
"MM/dd/yyyy"

*/
Dim myDateTimePatterns() As String = {"MM/dd/yy", "MM/dd/yyyy"}
Dim name As String = ""

' Get the en-US culture.
Dim ci As New CultureInfo("en-US")
' Get the DateTimeFormatInfo for the en-US culture.
Dim dtfi As DateTimeFormatInfo = ci.DateTimeFormat

' Display the effective culture.
Console.WriteLine("This code example uses the {0} culture.", ci.Name)

' Display the native calendar name.    
Console.WriteLine(vbCrLf & "NativeCalendarName...")
Console.WriteLine("""{0}""", dtfi.NativeCalendarName)

' Display month genitive names.
Console.WriteLine(vbCrLf & "MonthGenitiveNames...")
For Each name In dtfi.MonthGenitiveNames
    Console.WriteLine("""{0}""", name)
Next name

' Display abbreviated month genitive names.
Console.WriteLine(vbCrLf & "AbbreviatedMonthGenitiveNames...")
For Each name In dtfi.AbbreviatedMonthGenitiveNames
    Console.WriteLine("""{0}""", name)
Next name

' Display shortest day names.
Console.WriteLine(vbCrLf & "ShortestDayNames...")
For Each name In dtfi.ShortestDayNames
    Console.WriteLine("""{0}""", name)
Next name

' Display shortest day name for a particular day of the week.
Console.WriteLine(vbCrLf & "GetShortestDayName(DayOfWeek.Sunday)...")
Console.WriteLine("""{0}""", dtfi.GetShortestDayName(DayOfWeek.Sunday))

' Display the initial DateTime format patterns for the 'd' format specifier.
Console.WriteLine(vbCrLf & "Initial DateTime format patterns for " &
                  "the 'd' format specifier...")
For Each name In dtfi.GetAllDateTimePatterns("d"c)
    Console.WriteLine("""{0}""", name)
Next name

' Change the initial DateTime format patterns for the 'd' DateTime format specifier.
Console.WriteLine(vbCrLf & "Change the initial DateTime format patterns for the " &
                  vbCrLf & "'d' format specifier to my format patterns...")
dtfi.SetAllDateTimePatterns(myDateTimePatterns, "d"c)

' Display the new DateTime format patterns for the 'd' format specifier.
Console.WriteLine(vbCrLf &
                  "New DateTime format patterns for the 'd' format specifier...")
For Each name In dtfi.GetAllDateTimePatterns("d"c)
    Console.WriteLine("""{0}""", name)
Next name

'Output:
'
'This code example uses the en-US culture.
'
'NativeCalendarName...
'"Gregorian Calendar"
'
'MonthGenitiveNames...
'"January"
'"February"
'"March"
'"April"
'"May"
'"June"
'"July"
'"August"
'"September"
'"October"
'"November"
'"December"
'""
'
'AbbreviatedMonthGenitiveNames...
'"Jan"
'"Feb"
'"Mar"
'"Apr"
'"May"
'"Jun"
'"Jul"
'"Aug"
'"Sep"
'"Oct"
'"Nov"
'"Dec"
'""
'
'ShortestDayNames...
'"S"
'"M"
'"T"
'"W"
'"T"
'"F"
'"S"
'
'GetShortestDayName(DayOfWeek.Sunday)...
'"S"
'
'Initial DateTime format patterns for the 'd' format specifier...
'"M/d/yyyy"
'"MMM d, yyyy"
'"M/d/yy"
'
'Change the initial DateTime format patterns for the
''d' format specifier to my format patterns...
'
'New DateTime format patterns for the 'd' format specifier...
'"MM/dd/yy"
'"MM/dd/yyyy"
'

Remarks

In some languages, a month name that is part of a date appears in the genitive case. For example, a date in the Russian (Russia) or "ru-RU", culture consists of the day number and the genitive month name, such as 1 Января.

When this property is set, the array must be one-dimensional and must have exactly 13 elements. Calendar objects accommodate calendars with 13 months. The first element (the element at index zero) represents the first month of the year defined by the Calendar property. If you set the MonthGenitiveNames property, you must also set the MonthNames property.

Applies to

See also