正在做一个东西,要求从15,18位的身份证上取下出生日期,形式为19800825,然后分开年月日转为中文:一九八O、八、二十五,下面是源代码:
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**//// <summary>
/// Summary description for NumToChinese
/// </summary>
/// <summary>
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 将日期转换为中文形式,日期是从身份证上取下的,暂不作数据有效性验证,形式为年:2004 月03 日26
/// 从身份证取出生日期的程序就不写了
/// Joeliang
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// 2007.7.5
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
/// </summary>
using System;
using System.Collections.Generic;
using System.Text;
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
public class NumToChinese
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
private const string chinese = "○一二三四五六七八九";
public static string ConvertYear(string year)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
StringBuilder result = new StringBuilder();
for (int i = 0; i < year.Length; i++)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
result.Append(chinese[int.Parse(year[i].ToString())]);
}
return result.ToString();
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//从身份证取下来的月,例如01,10,12
public static string ConvertMonth(string month)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
StringBuilder result = new StringBuilder();
if (month[0].ToString() == "0") //如果是1-9月份
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
result.Append(chinese[int.Parse(month[1].ToString())]);
}
else
if (month == "10") //如果是10月份
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
result.Append("十");
}
else //如果是11,12月份
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
result.Append("十");
result.Append(chinese[int.Parse(month[1].ToString())]);
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return result.ToString();
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//从身份证取下来的日,例如01,08,10,22
public static string ConvertDay(string day)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
StringBuilder result = new StringBuilder();
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (day[0].ToString() == "0") //如果是个位数
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
result.Append(chinese[int.Parse(day[1].ToString())]);
}
else
if (day[1].ToString() == "0") //如果是10,20,30
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
if(day[0].ToString() == "1") //如果是10
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
}
else //如果是20,30
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
result.Append(chinese[int.Parse(day[0].ToString())]);
}
result.Append("十");
}
else //如果是11,25,31
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
if(day[0].ToString() == "1") //如果是11-19
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
}
else //如果是21-29,31
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
result.Append(chinese[int.Parse(day[0].ToString())]);
}
result.Append("十");
result.Append(chinese[int.Parse(day[1].ToString())]);
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return result.ToString();
}
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)