求日期转成大写方法,谢谢

解决方案 »

  1.   

    用CultureInfo.DateTimeFormat 属性 (System.Globalization)
      

  2.   

    帮你写了一个        //二位数字转中文
            public string Convert2Digit(string str)
            {
        char c1=str[0];
        char c2=str[1];
               string s2 = c2=='0' ? "" : new string(ConvertChinese(c2),1);
        string rstring="";
                if (c1=='0')
                {
                    rstring = s2;
                }
                else
                {
                    rstring = ConvertChinese(c1)+"拾"+s2;
                }
        return rstring;
            }
            public char ConvertChinese(char c)
            {
        //"零壹贰叁肆伍陆柒捌玖拾"
        char cc = '\0';
        switch(c)
        {
        case '0': cc='零';break;
        case '1': cc='壹';break;
        case '2': cc='贰';break;
        case '3': cc='叁';break;
        case '4': cc='肆';break;
        case '5': cc='伍';break;
        case '6': cc='陆';break;
        case '7': cc='柒';break;
        case '8': cc='捌';break;
        case '9': cc='玖';break;
        }
        return(cc);
            }
            public string GetDateStr(DateTime dt)
            {
                string y = dt.Year.ToString();
                char[] arry = y.ToCharArray();
                y = string.Empty;
                foreach(char c in arry)
                {
                    y += ConvertChinese(c);
                }
                string M = Convert2Digit(dt.Month.ToString().PadLeft(2,'0'));
                string d = Convert2Digit(dt.Day.ToString().PadLeft(2,'0'));
                return y+"年"+M+"月"+d+"日";
            }
      

  3.   

    调用GetDateStr,传入DateTime型变量
    比如GetDateStr(DateTime.Now)得到
    贰零零陆年玖月贰拾玖日
      

  4.   

    GetDateStr(new DateTime(2006,10,18))得到
    贰零零陆年壹拾月壹拾捌日
      

  5.   

    这太简单了,Convert2Digit中
    rstring = s2;
    改为
    rstring = '零'+s2;