程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 數字日期轉中文日期

數字日期轉中文日期

編輯:.NET實例教程

據客戶要求,把"2007-11-4"轉換為"二〇〇七年十一月四號"



 using System;
 using System.Text;
 using System.Text.RegularExpressions;
 
 namespace AndyDateConvert
  ...{
      class DateConvert
      ...{
          private static DateConvert m_DateConvert = null;
 
         private char[] strChinese;
 
         private DateConvert()
         ...{
             strChinese = new char[] ...{
                 '〇','一','二','三','四','五','六','七','八','九','十'
             };
         }
 
         public static DateConvert Instance
        ...{
             get
             ...{
                 if (m_DateConvert == null)
                     m_DateConvert = new DateConvert();
                 return m_DateConvert;
             }
         }
 
         public string Baodate2Chinese(string strDate)
         ...{
             StringBuilder result = new StringBuilder();
 
             // 依據正則表達式判斷參數是否正確
             Regex theReg = new Regex(@"(d{2}|d{4})(/|-)(d{1,2})(/|-)(d{1,2})");
             if (theReg.Match(strDate).Length != 0)
          ...{
                 // 將數字日期的年月日存到字符數組str中
                 string[] str = null;
                 if (strDate.Contains("-"))
                 ...{
                     str = strDate.Split('-');
                 }
                 else if (strDate.Contains("/"))
                 ...{
                     str = strDate.Split('/');
                 }
 
                 // str[0]中為年,將其各個字符轉換為相應的漢字
                 for (int i = 0; i < str[0].Length; i++)
                 ...{
                     result.Append(strChinese[int.Parse(str[0][i].ToString())]);
                 }
               result.Append("年");
 
                 // 轉換月
                 int month = int.Parse(str[1]);
                 int MN1 = month / 10;
                 int MN2 = month % 10;
 
                 if (MN1 > 1)
                 ...{
                     result.Append(strChinese[MN1]);
                 }
                 if (MN1 > 0)
                 ...{
                     result.Append(strChinese[10]);
                 }
                 if (MN2 != 0)
                 ...{
                     result.Append(strChinese[MN2]);
          &nbsp;      }
                 result.Append("月");
 
                 // 轉換日
                 int day = int.Parse(str[2]);
                 int DN1 = day / 10;
                 int DN2 = day % 10;
 
                 if (DN1 > 1)
                 ...{
                     result.Append(strChinese[DN1]);
                 }
                 if (DN1 > 0)
                 ...{
                     result.Append(strChinese[10]);
                 }
                 if (DN2 != 0)
                 ...{
                 &nbsp;   result.Append(strChinese[DN2]);
                 }
                 result.Append("日");
             }
             else
             ...{
                 throw new ArgumentException();
             }
 
             return result.ToString();
        }

        static void Main(string[] args)
        ...{
            Console.WriteLine(DateConvert.Instance.Baodate2Chinese("2007-11-4"));
            Console.WriteLine(DateConvert.Instance.Baodate2Chinese("07-11-4"));
            Console.WriteLine(DateConvert.Instance.Baodate2Chinese("2007/11/4"));
            Console.WriteLine(DateConvert.Instance.Baodate2Chinese("07/11/4"));
        }
    }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved