本帖最后由 欧玉斌 于 2012-11-13 11:22 编辑
anyu 发表于 2012-11-11 11:51
我在下面判断了一下,但是感觉比较复杂,求简单方法?
string s="",r="";
Console.Wri ...
其实这题真不需要那么麻烦,个人想出两种方式,一:01转1可以通过字符串数组转int数组的方式(int不会有01,而变成了1)
int[] intDateTime = Array.ConvertAll<string, int>(newDateTime, delegate(string s) { return int.Parse(s); });- Console.WriteLine("请输入日期,如“2008-01-02”");
- //获取用户输入内容
- string dateTime = Console.ReadLine();
- //按"-"分割字符串
- string[] newDateTime = dateTime.Split(new string[] { "-" }, StringSplitOptions.RemoveEmptyEntries);
- //把String数组转换为Int数组,数组各值将变为int类型,如01转化为1
- int[] intDateTime = Array.ConvertAll<string, int>(newDateTime, delegate(string s) { return int.Parse(s); });
- //如果int数组长度等于3,则按预定格式输出,否则提示错误
- if (intDateTime.Length == 3)
- { //输出预设格式的时间
- Console.WriteLine("{0}年{1}月{2}日", intDateTime[0], intDateTime[1], intDateTime[2]);
- }
- else
- {
- Console.WriteLine("输入的日期格式错误");
- }
- Console.ReadKey();
复制代码 二、利用datetime转换用户输入的时间,并按yyyy年M月d日格式输出时间。
datetime 的方便性在于,可以验证要转换的字符串是否是合法的日期格式,如月份不能大于12,平年2月份日期不能大于28,如果转换失败,则catch异常
Console.WriteLine(dt.ToString("yyyy年M月d日"));//输出- Console.WriteLine("请输入日期,如“2008-01-02”");
- //获取用户输入内容
- string dateTime = Console.ReadLine();
- try
- {
- //将输入的字符串转为DateTime类型,转换时可以判断输入的是否是合法的时间格式
- DateTime dt = DateTime.Parse(dateTime);
- Console.WriteLine(dt.ToString("yyyy年M月d日"));//输出
- }
- catch (Exception)
- {
- Console.WriteLine("输入的时间格式错误");
- }
- Console.ReadKey();
复制代码 |