我想在C#中获取月份数组,类似这样:{一月,二月,...,十二月}
我该怎么做? 请用C#向我发送代码。
谢谢
我想在C#中获取月份数组,类似这样:{一月,二月,...,十二月}
我该怎么做? 请用C#向我发送代码。
谢谢
你需要注意本地化问题:
你可以使用:
string[] monthNames =
System.Globalization.CultureInfo.CurrentCulture
.DateTimeFormat.MonthGenitiveNames;
在一些有屈折变化的语言中,通过所谓的属格名词来引入属格格,而在非屈折变化的语言中,则使用类似于英语介词“of”的等效物。例如,在俄语(俄罗斯)文化中,“ru-RU”,日期由日期编号和属格月份名称组成。
编辑: 如果需要英文月份名称,可以将当前文化设置为en-US
。
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
string[] monthNames = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.MonthNames;
foreach (string m in monthNames) // writing out
{
Console.WriteLine(m);
}
输出:
January
February
March
April
May
June
July
August
September
October
November
December
更新:
请注意,对于不同的地区/文化,输出可能不是英语。尽管以前没有测试过。
仅适用于美式英语:
string[] monthNames = (new System.Globalization.CultureInfo("en-US")).DateTimeFormat.MonthNames;
MonthGenitiveNames
ж–№жі•ж №жҚ®дёҠдёӢж–ҮеҸҜиғҪжӣҙеҠ еҗҲйҖӮгҖӮ - o.k.wstring[] months = new string[] {"January", "February", "March", "April", "May",
"June", "July", "August", "September", "October", "November", "December"};
new string[] {
,new [] {
就可以。 - Yogeshvar startDate = new DateTime(2014,1,1);
var months = Enumerable.Range(0,11)
.Select(startDate.AddMonths);
.Select(m => m.ToString("yyyy MMMM"))
.ToList();