c# 自己写的函数:英文日期转成中文日期 (汉字日期):二〇一一年五月十九日
调用:
string s;
s=getCNdate(DateTime.Parse("1999-10-31"));
Console.Write(s);
s=getCNdate(DateTime.Today);
Console.Write(s);
输出:
一九九九年十月三十一日
二〇一一年五月十九日
方法:
//---------------
public static string getCNdate(DateTime dt_mydate) { string CNdate = dt_mydate.ToLongDateString();//转成年月日格式 CNdate = Regex.Replace(CNdate, @"/d+[^/d]", rep_date); return CNdate; } private static string rep_date(Match mc) { const string cnd = "〇一二三四五六七八九"; string val = mc.Value; string digit = val.Substring(0, val.Length - 1); char c = val[val.Length - 1]; val = ""; switch (c) { case '年': foreach (char s in digit) val += cnd[int.Parse(s.ToString())]; break; case '月': case '日': if (digit.Length == 1) val += cnd[int.Parse(digit)]; else { val += cnd[int.Parse(digit[0].ToString())] + "十"; val = val.TrimStart('一'); val += cnd[int.Parse(digit[1].ToString())].ToString().Trim('〇'); } break; default: return "格式错误"; } return val + c.ToString(); }