将时间转化为中文大写

        /// <summary>
        /// 将时间转化为中文大写
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public string DateTimeToUpper(string str)
        {
            try
            {
                DateTime currenttime = DateTime.Parse(str);

                string newtime = string.Empty;

                string year = currenttime.Year.ToString();
                int month = currenttime.Month;
                int day = currenttime.Day;

                string s_year = ConverToSpell(year);
                string s_month = string.Empty;
                string s_day = string.Empty;
                if (month <= 9)
                {
                    s_month = ConverToSpell(month.ToString());
                }
                else if ((month % 10) == 0)
                {
                    s_month = "十";
                }
                else
                {
                    s_month = "十" + ConverToSpell(month.ToString()[1].ToString());
                }
                if (day <= 9)
                {
                    s_day = ConverToSpell(day.ToString());
                }
                else if (day == 10)
                {
                    s_day = "十";
                }
                else if (day == 20)
                {
                    s_day = "二十";
                }
                else if (day == 30)
                {
                    s_day = "三十";
                }
                else
                {
                    if (day < 20)
                    {
                        s_day = "十" + ConverToSpell(day.ToString()[1].ToString());
                    }
                    else
                    {
                        s_day = ConverToSpell(day.ToString()[0].ToString()) + "十" + ConverToSpell(day.ToString()[1].ToString());
                    }
                }

                return ConverToSpell(year) + "年" + s_month + "月" + s_day + "日";
            }
            catch
            {
                return "时间格式有误";
            }
        }
        protected string ConverToSpell(string str)
        {
            string newtime = string.Empty;
            foreach (char c in str)
            {
                switch (c.ToString())
                {
                    case "0":
                        newtime += "○";
                        break;
                    case "1":
                        newtime += "一";
                        break;
                    case "2":
                        newtime += "二";
                        break;
                    case "3":
                        newtime += "三";
                        break;
                    case "4":
                        newtime += "四";
                        break;
                    case "5":
                        newtime += "五";
                        break;
                    case "6":
                        newtime += "六";
                        break;
                    case "7":
                        newtime += "七";
                        break;
                    case "8":
                        newtime += "八";
                        break;
                    case "9":
                        newtime += "九";
                        break;
                }
            }

            return newtime;
        }

  

posted @ 2013-10-08 15:55  challengesoflife  阅读(163)  评论(0编辑  收藏  举报