zoukankan      html  css  js  c++  java
  • 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"));
           
    }
        }
    }

  • 相关阅读:
    Aurora 数据库支持多达五个跨区域只读副本
    Amazon RDS 的 Oracle 只读副本
    Amazon EC2 密钥对
    DynamoDB 读取请求单位和写入请求单位
    使用 EBS 优化的实例或 10 Gb 网络实例
    启动 LAMP 堆栈 Web 应用程序
    AWS 中的错误重试和指数退避 Error Retries and Exponential Backoff in AWS
    使用 Amazon S3 阻止公有访问
    路由表 Router Table
    使用MySQLAdmin工具查看QPS
  • 原文地址:https://www.cnblogs.com/angels/p/2790832.html
Copyright © 2011-2022 走看看