• C#中数字日期转中文小写日期


     

    据客户要求,把"2007-11-4"转换为"二〇〇七年十一月四号"

    using System;
    using System.Text;
    using
    System.Text.RegularExpressions;

    namespace AndyDateConvert
    {
         
    class DateConvert
          {
              private static DateConvert
    m_DateConvert = null;

             private char[] strChinese;

            
    private DateConvert()
             {
                 strChinese = new char[]
    {
                    
    '〇','一','二','三','四','五','六','七','八','九','十'
                 };
            
    }

             public static DateConvert Instance
            
    {
                 get
                 {
                     if (m_DateConvert ==
    null)
                         m_DateConvert = new
    DateConvert();
                     return m_DateConvert;
                
    }
             }

             public string Baodate2Chinese(string
    strDate)
             {
                 StringBuilder result = new
    StringBuilder();

                 // 依据正则表达式判断参数是否正确
                 Regex
    theReg = new Regex(@"(d{2}|d{4})(/|-)(d{1,2})(/|-)(d{1,2})");
                 if
    (theReg.Match(strDate).Length != 0)
                 {
                     //
    将数字日期的年月日存到字符数组str中
                     string[] str = null;
                    
    if (strDate.Contains("-"))
                     {
                         str =
    strDate.Split('-');
                     }
                     else if
    (strDate.Contains("/"))
                     {
                         str =
    strDate.Split('/');
                     }

                     //
    str[0]中为年,将其各个字符转换为相应的汉字
                     for (int i = 0; i <
    str[0].Length; i++)
                     {
                        
    result.Append(strChinese[int.Parse(str[0][i].ToString())]);
                    
    }
                     result.Append("年");

                     //
    转换月
                     int month = int.Parse(str[1]);
                     int
    MN1 = month / 10;
                     int MN2 = month %
    10;

                     if (MN1 > 1)
                    
    {
                         result.Append(strChinese[MN1]);
                    
    }
                     if (MN1 > 0)
                    
    {
                         result.Append(strChinese[10]);
                    
    }
                     if (MN2 != 0)
                    
    {
                         result.Append(strChinese[MN2]);
                    
    }
                     result.Append("月");

                     //
    转换日
                     int day = int.Parse(str[2]);
                     int DN1
    = day / 10;
                     int DN2 = day % 10;

                     if
    (DN1 > 1)
                     {
                        
    result.Append(strChinese[DN1]);
                     }
                     if
    (DN1 > 0)
                     {
                        
    result.Append(strChinese[10]);
                     }
                     if (DN2
    != 0)
                     {
                        
    result.Append(strChinese[DN2]);
                     }
                    
    result.Append("日");
                 }
                 else
                
    {
                     throw new ArgumentException();
                
    }

                 return result.ToString();
            }


            static void Main(string[] args)
            {
    Console.WriteLine(DateConvert.Instance.Baodate2Chinese("2007-11-4"));
               
    Console.WriteLine(DateConvert.Instance.Baodate2Chinese("07-11-4"));
               
    Console.WriteLine(DateConvert.Instance.Baodate2Chinese("2007/11/4"));
               
    Console.WriteLine(DateConvert.Instance.Baodate2Chinese("07/11/4"));
           
    }
        }
    }

  • 相关阅读:
    java最新工作流引擎Activiti7管理流程创建申请经理审核财务审核结案
    Activivi7使用步骤
    mysql数据存放的位置在哪
    关于JWT 和Token(转)
    golang go get 时提示 no Go files in xxx
    golang中的URL 的编码和解码(转)
    什么是 .gitkeep ?
    golang gin 框架读取无法用 body 传递的表单参数
    Goland 开启文件保存自动进行格式化 的两种方式
    golang 接口变量的赋值和方法的调用
  • 原文地址:https://www.cnblogs.com/angels/p/2790832.html
Copyright © 2020-2023  润新知