DateTime Convert from int to Month Name in C#, Sil

2019-02-07 22:15发布

问题:

I am trying to print out the name of the month not the integer value of each month. (for example if the date is 2/2/2002, I would like the "month" to read out "February" instead of "2."

I am pulling in the system.DateTime.now to get the current month. When I try to print out the current month on the form, it just puts the correlating integer value for the month, whereas I would like to have the Month Name.

I know this can be done using switch-case or if statements to individually convert the numbers into word values, but I was just wondering if there was a simple, built-in conversion command that will automatically tell the application to print out the month's name instead of it's correlating integer value.

I am programming in the Visual Studio 2010 environment using C#-4.0, Silverlight-4.0.

回答1:

Try DateTime.Now.ToString("MMMM")

See MSDN: Custom Date and Time Format Strings for other format strings.



回答2:

You can also get it like this:

var month = 7;
var dtf = CultureInfo.CurrentCulture.DateTimeFormat;
string monthName = dtf.GetMonthName(month);
string abbreviatedMonthName = dtf.GetAbbreviatedMonthName(month);

Resources:

  • DateTimeFormatInfo.GetMonthName Method
  • DateTimeFormatInfo.GetAbbreviatedMonthName Method
  • DateTimeFormatInfo Methods
  • DateTimeFormatInfo Properties


回答3:

If you want the full date (in your case: February 2, 2002) use: myDate.ToString("MMMM dd, yyyy")

For just the month: .ToString("MMMM") is correct.