DateTime 类型变量的实例化问题
一个
时间字符串“20130105105745677”,2013是年,01是月,05是日,10是小时,57是分钟,
“45677”是毫秒。
int year = int.Parse(DANo.Substring(0, 4));
int month = int.Parse(DANo.Substring(4, 2));
int day = int.Parse(DANo.Substring(6, 2));
int hour = int.Parse(DANo.Substring(8, 2));
int minute = int.Parse(DANo.Substring(10, 2));
int second = int.Parse(DANo.Substring(12, 5));
DateTime DATime = new DateTime(year, month, day, hour, minute, second);
问题一:这样用“年、月、日、时、分、秒”去实例化DateTime不行啊??? 是因为“秒数”是“0~59”的整数,那么毫秒数怎么办???
string str="20130105105745677"
问题二:怎样将“str”转化为“DateTime”类型???
------解决方案--------------------public DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond);
这不是有带还秒的构造函数吗
------解决方案--------------------public DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond);
那么多重载你看不见吗?
------解决方案--------------------“45677”是毫秒 有问题,1000毫秒就是一秒了,所以毫秒栏位最大值为999。
------解决方案--------------------1000毫秒就是一秒了,所以不存在 45677这个毫秒,
DateTime时有很多的重载的,你可以看下
------解决方案--------------------你45是秒吧,667是毫秒
DateTime.ParseExact("20130105105745677","yyyyMMddHHmmssfff",null)
------解决方案--------------------问题二,可以直接转,
给你来一个,代码如下:
string str = "20130105105745677";
DateTime dt = DateTime.ParseExact(str, "yyyyMMddHHmmssfff", null);
MessageBox.Show(dt.ToString());
//输出 2013-1-5 10:57:45
------解决方案--------------------int year = int.Parse(DANo.Substring(0, 4));
int month = int.Parse(DANo.Substring(4, 2));
int day = int.Parse(DANo.Substring(6, 2));
int hour = int.Parse(DANo.Substring(8, 2));
int minute = int.Parse(DANo.Substring(10, 2));
int second = int.Parse(DANo.Substring(12, 2));
int millisecond = int.Parse(DANo.Substring(14)); //毫秒