自己瞎写的也不知道好不好,只是可以用而已。
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;
}