ASP.NET实现日期转为大写的汉字

来源:互联网 发布:免费服务器防火墙软件 编辑:程序博客网 时间:2024/06/01 09:02

在网站应用中有时会用到将日期格式转为大写汉字,比如: “2016年10月8日” 转换成 “贰零壹陆年拾月捌日”,下面一起来看看怎么实现。

//年份转换为大写汉字  public static string numtoUpper(int num)   {    return "零壹贰叁肆伍陆柒捌玖"[num].ToString();   } //月份转换大写汉字  public static string monthtoUpper(int month)  {   if (month < 10)   {    return numtoUpper(month);   }   else   {    if (month == 10) { return "壹拾"; }     else    {     return "壹拾" + numtoUpper(month - 10);    }   }  }  //日期转化为大写汉字  public static string daytoUpper(int day)  {   if (day < 20)   {    return monthtoUpper(day);   }   else   {    String str = day.ToString();    if (str[1] == '0')    {     return numtoUpper(Convert.ToInt16(str[0].ToString())) + "拾";    }    else    {     return numtoUpper(Convert.ToInt16(str[0].ToString())) + "拾"      + numtoUpper(Convert.ToInt16(str[1].ToString()));    }   }  }
static void Main(string[] args)  {   string year = "2013";   string retur = string.Empty;   for (int i = 0; i < year.Length; i++)   {    retur += numtoUpper(int.Parse(year[i].ToString())).ToString();   }   Console.WriteLine(retur + " 年");   retur = string.Empty;   string month = "12";   retur = monthtoUpper(Convert.ToInt32(month));   Console.WriteLine(retur + " 月");   string day = "3";   retur = daytoUpper(Convert.ToInt32(day));   Console.WriteLine(retur + " 日");   Console.ReadLine();  }

 

0 0