博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
日期转换练习
阅读量:6966 次
发布时间:2019-06-27

本文共 2288 字,大约阅读时间需要 7 分钟。

hot3.png

   #region 日期格式转换

        /// <summary>
        /// 将数字表示的日期转换诚中文日期
        /// </summary>
        /// <param name="date"></param>
        /// <returns></returns>
        private static string ConvertStringToChinese(string date)
        {
            string [] str = date.Split('年', '月', '日');

            StringBuilder sb = new StringBuilder();

            sb.Append(ConvertYear(str[0]));
            sb.Append("年");
            sb.Append(ConvertMonthorDay(str[1]));
            sb.Append("月");
            sb.Append(ConvertMonthorDay(str[2]));
            sb.Append("日");
            return sb.ToString();
          
        }
        /// <summary>
        /// 转换日期的月或日的部分
        /// </summary>
        /// <param name="date"></param>
        /// <returns></returns>
        private static string ConvertMonthorDay(string date)
        {
            int num = int.Parse(date);
            if (num<10)
            {
                return NumToChinese(num);
            }

            else if (num == 10)

            {
                return "十";
            }
            else if (num > 10 && num < 20)
            {
                return "十" + NumToChinese(num % 10);
            }
            else if (num == 20)
            {
                return "二十";
            }

            else if (num > 20 && num < 30)

            {
                return "二十" + NumToChinese(num % 10);
            }
            else if (num == 30)
            {
                return "三十";
            }
            else
            {
                return "三十一";
            }
        }
        /// <summary>
        /// 讲数字转换成对应的汉字
        /// </summary>
        /// <param name="num"></param>
        /// <returns></returns>
        private static string NumToChinese(int num)
        {
            string ch = string.Empty;
            switch (num)
            {
                case 0:
                    ch = "零";
                    break;
                case 1:
                    ch = "一";
                    break;
                case 2:
                    ch = "二";
                    break;
                case 3:
                    ch = "三";
                    break;
                case 4:
                    ch = "四";
                    break;
                case 5:
                    ch = "五";
                    break;
                case 6:
                    ch = "六";
                    break;
                case 7:
                    ch = "七";
                    break;
                case 8:
                    ch = "八";
                    break;
                case 9:
                    ch = "九";
                    break;
            }
            return ch;

        }

        /// <summary>
        /// 转换日期的年部分
        /// </summary>
        /// <param name="date"></param>
        /// <returns></returns>
        private static string ConvertYear(string date)
        {
            char[] chYear = date.ToCharArray();
            for (int i = 0; i < chYear.Length; i++)
            {
                switch (chYear[i])
                {
                    case '0':
                        chYear[i] = '零';
                        break;
                    case '1':
                        chYear[i] = '一';
                        break;
                    case '2':
                        chYear[i] = '二';
                        break;
                    case '3':
                        chYear[i] = '三';
                        break;
                    case '4':
                        chYear[i] = '四';
                        break;
                    case '5':
                        chYear[i] = '五';
                        break;
                    case '6':
                        chYear[i] = '六';
                        break;
                    case '7':
                        chYear[i] = '七';
                        break;
                    case '8':
                        chYear[i] = '八';
                        break;
                    case '9':
                        chYear[i] = '九';
                        break;

                    default:

                        break;
                }
            }

            return new string(chYear);

        }
        #endregion

 

====================================================

 #region 日期转换

            string date = "2012年12月31日";
            date = ConvertStringToChinese(date);
            Console.WriteLine(date);
            Console.ReadKey();
            #endregion

原文链接:

转载于:https://my.oschina.net/changpinghu/blog/92515

你可能感兴趣的文章
PHP 缓存插件之 Zend Opcache ( 取代 APC )
查看>>
Essential Studio for mobile MVC中2种添加移动图表到MVC3 ASPX应用程序中的方法
查看>>
【转】Java字符串与字符集的基本概念
查看>>
linux 学习 14 日志管理
查看>>
package extends 解析
查看>>
Repeater中嵌套DropDownList
查看>>
bootstrap-fileinput组件在上传时传递额外参数
查看>>
Python初识面向对象
查看>>
Coursera algorithm II PA4
查看>>
java jvm学习笔记二(类装载器的体系结构)
查看>>
hdu1395 数论 欧拉函数
查看>>
JavaScript:this是什么
查看>>
CSS0 -- 静态、自适应、流式、响应式
查看>>
[Android Pro] 分析 Package manager has died
查看>>
[Android] osx下如何使用SublimeText阅读Android系统源码
查看>>
关于使用wcf架构分布式系统的一点想法
查看>>
PLSQL导出Oracle表结构
查看>>
Android 网络编程
查看>>
正则表达式
查看>>
Tomcat & SVN
查看>>