DateTimeFormatInfo.NativeCalendarName Property

Definition

Gets the native name of the calendar associated with the current DateTimeFormatInfo object.

C#
public string NativeCalendarName { get; }
C#
[System.Runtime.InteropServices.ComVisible(false)]
public string NativeCalendarName { get; }

Property Value

The native name of the calendar used in the culture associated with the current DateTimeFormatInfo object if that name is available, or the empty string ("") if the native calendar name is not available.

Attributes

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.

C#
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"

*/

Notes to Callers

If Calendar is the TaiwanCalendar but the CurrentCulture is not "zh-TW", then NativeCalendarName, GetEraName(Int32), and GetAbbreviatedEraName(Int32) return an empty string ("").

Applies to

Product Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1