技术为产品服务,产品为业务服务!

我要努力,我要发达!

 

将日期转为中文字符的类

正在做一个东西,要求从15,18位的身份证上取下出生日期,形式为19800825,然后分开年月日转为中文:一九八O、八、二十五,下面是源代码:

    /// <summary>
    
/// Summary description for NumToChinese
    
/// </summary>
    
/// <summary> 

    
/// 将日期转换为中文形式,日期是从身份证上取下的,暂不作数据有效性验证,形式为年:2004 月03 日26 
    
/// 从身份证取出生日期的程序就不写了
    
/// Joeliang

    
/// 2007.7.5

    
/// </summary> 

using System;
using System.Collections.Generic;
using System.Text;

 
public class NumToChinese
    
{
     
private const string chinese = "○一二三四五六七八九";
       
        
public static string ConvertYear(string year)
        
{
            StringBuilder result 
= new StringBuilder();
            
for (int i = 0; i < year.Length; i++)
            
{
                result.Append(chinese[
int.Parse(year[i].ToString())]);
            }

            
return result.ToString();
        }


        
//从身份证取下来的月,例如01,10,12
        public static string ConvertMonth(string month)
        
{
            StringBuilder result 
= new StringBuilder();
           
            
if (month[0].ToString() == "0")       //如果是1-9月份
            {
                result.Append(chinese[
int.Parse(month[1].ToString())]);
            }

            
else
                
if (month == "10")    //如果是10月份
                {
                    result.Append(
"");
                }

                
else                        //如果是11,12月份
                {
                    result.Append(
"");
                    result.Append(chinese[
int.Parse(month[1].ToString())]);
                }


            
return result.ToString();
        }


        
//从身份证取下来的日,例如01,08,10,22
        public static string ConvertDay(string day)
        
{
            StringBuilder result 
= new StringBuilder();

            
if (day[0].ToString() == "0")       //如果是个位数
            {
                result.Append(chinese[
int.Parse(day[1].ToString())]);
            }

            
else
                
if (day[1].ToString() == "0")    //如果是10,20,30
                {
                    
if(day[0].ToString() == "1")   //如果是10
                    {
                    }

                    
else   //如果是20,30
                    {
                        result.Append(chinese[
int.Parse(day[0].ToString())]);
                    }

                    result.Append(
"");
                }

                
else                          //如果是11,25,31
                {
                    
if(day[0].ToString() == "1")   //如果是11-19
                    {
                    }

                    
else              //如果是21-29,31
                    {
                        result.Append(chinese[
int.Parse(day[0].ToString())]);
                    }

                    result.Append(
"");
                    result.Append(chinese[
int.Parse(day[1].ToString())]);
                }


            
            
return result.ToString();
        }

   
        
    }


posted on 2007-07-05 17:19  joe  阅读(436)  评论(0编辑  收藏  举报

导航