C#小时分钟转换为汉字时分(13时44分)

自己瞎写的也不知道好不好,只是可以用而已。

static void Main(string[] args)
        {

            Console.Write("请输入一个时间");
            string str = Console.ReadLine();
            Console.WriteLine(DateToChinese(Convert.ToDateTime(str)));
           // Console.WriteLine($"{str}");
            Console.ReadLine();
            
        }

 public static string DateToChinese(DateTime str)
        {
            string str1 = str.Hour.ToString();
            string strM = str.Minute.ToString();
            if (str1 == "00")
            {
                str1 = "零";
            }
            else
            {
                if (Convert.ToInt32(str1) < 10)
                {
                    str1 = DateTimeToChinese(str1.ToString());
                }
                else if (Convert.ToInt32(str1) >= 10 && Convert.ToInt32(str1) < 20)
                {
                    str1 = "十" + DateTimeToChinese(str1.Substring(1, 1));
                }
                else
                {
                    str1 = "二十" + DateTimeToChinese(str1.Substring(1, 1));
                }
            }
            if (strM=="00")
            {
                strM = "零";
            }
            else
            {
                if (Convert.ToInt32(strM) < 10)
                {
                    strM = DateTimeToChinese(strM.ToString());
                }
                else if (Convert.ToInt32(strM) >= 10 && Convert.ToInt32(strM) < 20)
                {
                    strM = "十" + DateTimeToChinese(strM.Substring(1, 1));
                }
                else if(Convert.ToInt32(strM) >= 20 && Convert.ToInt32(strM) < 30)
                {
                    strM = "二十" + DateTimeToChinese(strM.Substring(1, 1));
                }
                else if (Convert.ToInt32(strM) >= 30 && Convert.ToInt32(strM) < 40)
                {
                    strM = "三十" + DateTimeToChinese(strM.Substring(1, 1));
                }
                else if (Convert.ToInt32(strM) >= 40 && Convert.ToInt32(strM) < 50)
                {
                    strM = "四十" + DateTimeToChinese(strM.Substring(1, 1));
                }
                else if (Convert.ToInt32(strM) >= 50 && Convert.ToInt32(strM) < 60)
                {
                    strM = "五十" + DateTimeToChinese(strM.Substring(1, 1));
                }
            }
            return str1.ToString() + "时" + strM + "分";
        }
        private static string DateTimeToChinese(string str)
        {
            switch (str)
            {
                case "1":
                    str = "一";
                    break;
                case "2":
                    str = "二";
                    break;
                case "3":
                    str = "三";
                    break;
                case "4":
                    str = "四";
                    break;
                case "5":
                    str = "五";
                    break;
                case "6":
                    str = "六";
                    break;
                case "7":
                    str = "七";
                    break;
                case "8":
                    str = "八";
                    break;
                case "9":
                    str = "九";
                    break;
                case "0":
                    str = "零";
                    break;
                default:
                    break;
            }
            return str;
        }

猜你喜欢

转载自blog.csdn.net/gc101312/article/details/81409649