using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace DateConversion

{

class Program

{

static void Main(string[] args)

{

//案例:编写一个函数进行日期转换,将输入的中文日期转换为阿拉伯数字日期,比如:二零一二年十二月二十一日要转换为2012-12-21。(处理“十”的问题:1.*月十日;2.*月十三日;3.*月二十三日;4.*月三十日;)4中情况对“十”的不同翻译。1→10;2→1;3→不翻译;4→0【年部分不可能出现’十’,都出现在了月与日部分。】

//测试数据:二零一二年十二月二十一日(2012年12月21日)、二零零九年七月九日、二零一零年十月二十四日、二零一零年十月二十日

string str = Console.ReadLine();

string ziDian = "零0 一1 二2 三3 四4 五5 六6 七7 八8 九9";

//给字典集合添加数据

Dictionary dic = new Dictionary();

//分隔字符串为数组

string[] temp = ziDian.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

for (int i = 0; i < temp.Length; i++)

{

dic.Add(temp[i][0], temp[i][1]);

}

string result = string.Empty;

//翻译

for (int i = 0; i < str.Length; i++)

{

//检查字典键中是否包含输入的中文日期中相关字符,如果包含则将相对应的字典值追加到输入字符串中

if (dic.ContainsKey(str[i]))

{

result += dic[str[i]];

}

else

{

//字典中明显不包含键“十”

if (str[i] == '十')

{

//注意:本例中需要注意的是当输入的中文日期中包含“十”日的时候需要进行的不同转换,月同样对待

//1.*月十日->翻译为10;2.*月十三日-->翻译为1;3.*月二十三日->不翻译;4.*月三十日->翻译为0

//1.十月->翻译为10,2.十一月->翻译为1,3.十二月->翻译为1

if (!dic.ContainsKey(str[i - 1]) && !dic.ContainsKey(str[i + 1]))

{

result += "10";

}

else if (!dic.ContainsKey(str[i - 1]) && dic.ContainsKey(str[i + 1]))

{

result += "1";

}

else if (dic.ContainsKey(str[i - 1]) && dic.ContainsKey(str[i + 1]))

{

}

else

{

result += "0";

}

}

else

{

//年月日之间用短横线分隔

result += "-";

}

}

}

result = result.TrimEnd('-');

Console.WriteLine(result);

Console.ReadKey();

}

}

}

c#把日期改成数字字符串_C#编写壹个函数将输入的中文日期转换为阿拉伯数字日期...相关推荐

  1. 将数字转换成千分位,千分位改成数字

    将数字转换成千分位 function cc(s) {//千分位显示 if(isNaN(s)){//js自己的方法检验数字 //alert(s+"2"); document.getE ...

  2. Java中将科学记数法字符串转换成数字字符串

    开发过程中,有时候科学记数法的数字,需要转换成直观的数字. 这个时候就要想办法转换一下,好在java已经提供了现成的方法. 代码如下: import java.math.BigDecimal;@Tes ...

  3. matlab 日期转换成数字,日期转换为数字 命令行窗口输入datenu

    如2018年1月1日变成2018.01.01的excel可识别格式.但是有时候数字是1位打开excel表格,在表格内输入中文日期格式的日期,选中单元格. 找到工具栏中的"查找和选项" ...

  4. Arduino UNO模拟输入端口(A0-A5)改成数字IO输出使用

    Arduino UNO模拟输入端口(A0-A5)改成数字IO输出使用

  5. Access数据库id类型由自动编号改成数字类型后如何再从数字类型改成自动编号

    1.给数据库备份(如果你没有先备份的习惯,那就从现在起开始养成这个习惯) 2.打开数据库,发现原数据库表名为test.单击选定,然后点上面的"设计",将id字段的数据类型改为&qu ...

  6. 【python作业】编写一个函数,由实参传来一个字符串,统计此字符串中字母和数字的个数,在主函数中输入字符串并输出上述的结果。

    编写一个函数,由实参传来一个字符串,统计此字符串中字母和数字的个数,在主函数中输入字符串并输出上述的结果. def fun(s):count1 = 0count2 = 0for i in s:if i ...

  7. java如何将英文日期转成中文_中文字符串日期改成英文的日期格式

    例如:将17-03-2017   改成 12 Feb 2017 String registedday = "17-03-2017"; registedday = registedd ...

  8. python把日期数据转换成数字_python3时间datetime如何转换成数字?

    在计算的过程中,更加简便的运算往往是最受欢迎的.对于python3中的datetime来说,转换是为了让运算更加方便,同时电脑的内存也不会占用太多,说到这里很多小伙伴都会心动了,想要赶紧尝试下这种新的 ...

  9. 问题 C: 1.01 字符串拼接  编写程序实现接收用户输入的两个字符串,将它们组合后输出。

    问题 C: 1.01 字符串拼接 时间限制: 1 Sec 内存限制: 128 MB 提交: 8394 解决: 3559 [提交] [状态] [讨论版] [命题人:lip] 题目描述 编写程序实现接收用 ...

最新文章

  1. KernelBuildpackageHowto
  2. Cloudify — REST Plugin
  3. swift3.0截取View生成图片 图片截取成新图片
  4. 牛客题霸 NC25 删除有序链表中重复的元素-I
  5. VS2015中DataGridView的DataGridViewComBoboxCell列值无效及数据绑定错误的解决方法
  6. LINQ - 對付 SQL Injection 的 免費補洞策略 (转)
  7. 函数式编程语言天生就慢吗?
  8. 节省50%部署时间的5大KS8服务
  9. TensorFlow——实现线性回归算法
  10. kali linux wps 2019 删除_良心推荐!Linux系统下常用办公软件大盘点
  11. 网络安全之等级保护问题集
  12. Unity游戏框架设计
  13. 2021年PMP考试模拟题11(含答案解析)
  14. vmware安装win10并使用xshell成功连接及虚拟机中win10设置静态ip
  15. win下安装nessus
  16. C++中c_str()函数的用法
  17. 一般论文发表流程有哪些
  18. java txt文件追加_java如何追加写入txt文件
  19. 哈夫曼树中压缩率到底是什么意思
  20. 下载landsat8 L2级产品的步骤

热门文章

  1. Java == equal
  2. javascript单元测试:jasminejs 2.0的烦恼
  3. [原创].NET 业务框架开发实战之六 DAL的重构
  4. SQL SERVER全局变量
  5. VC++中使用内存映射文件处理大文件
  6. HTML5 列表和表格
  7. antd vue中,如何给表单动态添加input,解决遇到一些坑
  8. 用css实现透明度的方法
  9. OpenCV实战1——图像矫正技术
  10. 计算机科学与技术大学生职业规划,计算机科学与技术大学生职业生涯规划ppt