- namespace 日期转大写
 
 - {
 
 -     public partial class Form1 : Form
 
 -     {
 
 -         public Form1()
 
 -         {
 
 -             InitializeComponent();
 
 -         }
 
  
-         private void btn_Convert_Click(object sender, EventArgs e)
 
 -         {
 
 -             string OritDate = txt_OritDate.Text;
 
 -             //对日期进行分割,获得相应日期数字
 
 -             char[] Split = { '年', '月', '日' };
 
 -             string[] OritArr = OritDate.Split(Split);
 
  
-             //通过转换方法对年月日进行转换,并获得新的年月日
 
 -             string newYear=YearConvert(OritArr[0]);
 
 -             string newMonth = MDConvert(OritArr[1]);
 
 -             string newDay = MDConvert(OritArr[2]);
 
  
-             //拼接新的日期并显示
 
 -             string newDate = newYear + "年" + newMonth + "月" + newDay + "日";
 
 -             txt_NewDate.Text = newDate;
 
 -         }
 
  
 
-         private string YearConvert(string s)
 
 -         {
 
 -             //对年份进行转换
 
 -             char[] yearW = s.ToCharArray();
 
 -             char[] numUP = { '零', '一', '二', '三', '四', '五', '六', '七', '八', '九' };
 
 -             string newYear = "";
 
 -             for (int i = 0; i < yearW.Length; i++)
 
 -             {
 
 -                 //根据字符数组yearW中的数字获取字符数组numUP中相对的大小数字
 
 -                 newYear = newYear + numUP[Convert.ToInt32(yearW[i].ToString())].ToString();
 
 -             }
 
 -             return newYear;
 
 -     
 
 -         }
 
 -         private string MDConvert(string md)
 
 -         {
 
 -             //思路跟年份差不多,只是考虑了位数和整十的情况
 
 -             //定义一个字符数组存放大小数字,只是零用空来代替,因为出现零的时候不需要显示
 
 -             char[] numUP = { ' ', '一', '二', '三', '四', '五', '六', '七', '八', '九' };
 
 -             if (md.Length == 1)
 
 -             {
 
 -                 //根据字符数组yearW中的数字获取字符数组numUP中相对的大小数字,因为可能在出现整十的时候会有空格,所以最后要去掉空格
 
 -                 string newMD = numUP[Convert.ToInt32(md.ToString())].ToString().Trim();
 
 -                 return newMD;
 
 -             }
 
 -             else
 
 -             {
 
 -                 string newMD = "";
 
 -                 switch (md[0])
 
 -                 {
 
 -                     case '1':
 
 -                         newMD = "十" + numUP[Convert.ToInt32(md[1].ToString())].ToString().Trim();
 
 -                         break;
 
 -                     case '2':
 
 -                         newMD = "二十" + numUP[Convert.ToInt32(md[1].ToString())].ToString().Trim();
 
 -                         break;
 
 -                     default:
 
 -                         newMD = "三十" + numUP[Convert.ToInt32(md[1].ToString())].ToString().Trim();
 
 -                         break;
 
 -                 }
 
  
-                 return newMD;
 
 -             }
 
 -         }
 
 -     }
 
 - }
 
 
  复制代码 当然,这还是有些BUG的,比如输入的日期不规范,那你可以自己进行约束下,我这里只是想说怎么实现这个转换。思路来源于教学视频中身份证号验证 |