4

我必须用英语填写一个带有月份的组合框:一月,二月等。我做了接下来的事情:

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);

您怎么看,哪种方式更好(性能)?

有没有办法将表示月份数的整数转换为其名称?

4

2 回答 2

18

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

var americanCulture = new CultureInfo("en-US");
comboMonth.Items.AddRange(americanCulture.DateTimeFormat.MonthNames.Take(12)); //to remove last empty element
于 2009-04-26T22:37:59.000 回答
2

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

于 2009-04-26T22:41:12.817 回答