黑马程序员技术交流社区
标题:
转成datetime格式!!!
[打印本页]
作者:
Max_骏
时间:
2014-3-13 10:33
标题:
转成datetime格式!!!
本帖最后由 Max_骏 于 2014-3-20 15:08 编辑
201403092359怎么转成datetime格式,求解,已用convert和DateTime.ParseExact()不可实现.....
作者:
百川
时间:
2014-3-13 12:25
本帖最后由 百川 于 2014-3-13 12:28 编辑
Console.WriteLine("请输入时间,格式为xxxxaabbccddee");
string str=Console.ReadLine();
try
{
string year = str.Substring(0, 4);
string month = str.Substring(4, 2);
string day = str.Substring(6, 2);
string hour = str.Substring(8, 2);
string minute = str.Substring(10, 2);
string second = str.Substring(12, 2);
string time = (year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second);
DateTime datetime = DateTime.Parse(time);
Console.WriteLine(datetime);
}
catch
{
Console.WriteLine("输入日期格式有误。");
}
Console.ReadKey();
复制代码
其实没必要这么麻烦,你让用户直接输入“XXXX-aa-bb cc:dd:ee”的格式是可以直接通过
DateTime datetime =
DateTime.Parse(time);转换的
作者:
mdb
时间:
2014-3-16 14:24
如果已经存在的数据格式不好从源头上限制的话,那可以用正则判断后再转换
static void Main(string[] args)
{
string s = "201403092359";
DateTime? dt = GetDate(s);
Console.WriteLine(dt.ToString());
Console.ReadKey();
}
/// <summary>
/// 转换成功则返回日期,失败则返回NULL
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
private static DateTime? GetDate(string s)
{
Regex reg = new Regex(@"^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})$");
Match m = reg.Match(s);
try
{
if (m.Success)
{
return new DateTime(int.Parse(m.Groups[1].Value),
int.Parse(m.Groups[2].Value),
int.Parse(m.Groups[3].Value),
int.Parse(m.Groups[4].Value),
int.Parse(m.Groups[5].Value), 0);
}
return null;
}
catch (Exception ex)
{
return null;
}
}
复制代码
作者:
shangxin
时间:
2014-3-16 14:55
string s = "201403092359";
DateTime t = DateTime.ParseExact(s,"yyyyMMdd",null);
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2