将数字转换为月份名称的最佳方法

时间:2015-03-17 17:10:15

标签: c# arrays string replace int

这是一种非常常见的情况,通常我们有两种方法: 1创建一个字符串数组,第一个元素为空,这样我们就可以直接替换

String[] months = { "", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; //first empty so we can replace directly

for(int i =1;i <=12;i++)
        {
            //Do the magic
            xval.Add(months[i] );
        }

或者我们可以在没有空元素的情况下创建相同的数组,并将索引替换为1(这对我来说似乎不太可读)

由于这是一个非常常见的用例,是否有更好的选项(可能更具可读性)将月份数替换为月份名称? (即1983年1月12日至1983年1月12日等等)

1 个答案:

答案 0 :(得分:3)

DateTimeFormatInfo类会很有帮助。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Globalization;

namespace ConsoleApplication6
{
   class Program
   {
       static void Main(string[] args)
       {
           DateTimeFormatInfo dateTimeInfo = new DateTimeFormatInfo();
           Console.Write(dateTimeInfo.GetAbbreviatedMonthName(4)); // Display April
           Console.ReadKey();
       }
   }
}