C# DateTime.Month Property

Use the DateTime.Month property to get month strings based on format strings.
DateTime.Month returns an integer. This value indicates the month in the year, from January to December. With a format string, we can get month names.
The DateTime type provides month-related functionality in the .NET Framework. We do not need to create it ourselves: to save time and increase program reliability, it is best not to.DateTime
First program. Month is an instance property getter in the language, which means you must call it on a DateTime instance, but not with parentheses.Property

Then: It returns an integer that is 1-based: January is equal to 1, and December is equal to 12.

Int, uint

Format: The example code uses the MMM format string for short, 3-letter month strings.

Also: You can use the MMMM string (four Ms) for the complete month name. So Sep turns into September.

C# program that uses Month using System; class Program { static void Main() { // // Get the current month integer. // DateTime now = DateTime.Now; // // Write the month integer and then the three-letter month. // Console.WriteLine(now.Month); Console.WriteLine(now.ToString("MMM")); } } Output 5 May
Example 2. You may need to display the month name in a three-letter format. This is equivalent, in English, to taking a substring of the first three letters.

But: Using the three Ms next to each other may be easier and clearer for your code.

C# program that displays months using System; class Program { static void Main() { DateTime now = DateTime.Now; for (int i = 0; i < 12; i++) { Console.WriteLine(now.ToString("MMM")); now = now.AddMonths(1); } } } Output Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan
Full month format. In this example, we display the month string in full. We need to specify four Ms next to each other in the format string.

Here: The program loops over the 11 next months after the time of writing, which happens to be in February.

C# program that displays complete months using System; class Program { static void Main() { DateTime now = DateTime.Now; for (int i = 0; i < 12; i++) { Console.WriteLine(now.ToString("MMMM")); now = now.AddMonths(1); } } } Output February March April May June July August September October November December January
Arrays. We may want to have a 12-element array with all the month strings in it. This would allow us to access the month string by its index (1 being equal to January).

And: This may require a 13-element array. Using a static array to cache strings is often faster than accessing them from the framework.

ArrayStatic Array
A summary. The base class library provides powerful DateTime methods. We do not need to manually type in month names in most cases. We can enumerate all the string values.
Dot Net Perls
© 2007-2020 Sam Allen. Every person is special and unique. Send bug reports to