用英文几个月填充组合框

时间:2009-04-26 22:32:47

标签: c# .net datetime globalization

我必须用英语填写一个月份的组合框:1月,2月等。 我接下来这样做了:

private string[] AmericanMonths
{
  get
  {
    var arr = new string[12];
    var americanCulture = new CultureInfo("en-US");
    for (int i = 0; i < 12; i++)
    {
      arr[i] = new DateTime(2000, i + 1, 1).ToString("MMMM", americanCulture);
    }
    return arr;
  }
}

comboMonth.Items.AddRange(AmericanMonths);

您如何看待,哪种方式更好(性能)?

有没有办法将表示月号的整数转换为它的名字?

2 个答案:

答案 0 :(得分:18)

CultureInfo已经在框架中包含了月份名称列表。你可以写:

var americanCulture = new CultureInfo("en-US");
comboMonth.Items.AddRange(americanCulture.DateTimeFormat.MonthNames.Take(12)); //to remove last empty element

答案 1 :(得分:2)

CultureInfo具有DateTimeFormat属性,其中包含有关日期时间格式的信息。从那里,您可以使用GetMonthNameGetAbbreviatedMonthName。或者,您可以通过DateTimeFormatInfo的MonthNames属性获取月份名称数组。