时间标签DateTime
1:DateTime类型初始化:
DateTime date=new DateTime(2017,01,19,18,23,00);//此内部对应年,月,日,时,分,秒
Console.WriteLine(date);// 2017-01-19 18:23:00
2:获取当前系统时间
DateTime time=DateTime.now;//次默认类型是"yyyy-MM-dd HH:mm:ss"
3:对于时间字符串"yyyyMMddHHmmss"此状态转换成"yyyy-MM-dd HH:mm:ss"的解决办法
(1) 方法一
string str="20170119182300";
DateTime date=DateTime.ParseExact(str, "yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture);
Console.WriteLine(date);// 2017-01-19 18:23:00
【"System.Globalization.CultureInfo.CurrentCulture"这一属性我确实不知什么意思,若有大神看到帮忙解答】
其中"str"格式必须是"yyyyMMddHHmmss"时分秒可依次缺少,随之第二属性与第一属性时一一对应的,否则编译不通过。
(2)方法二
上面一种方法是直接返回被转环过来的时间DateTime,还有有种方法 DateTime.TryParse(str, out DateTime timeValue)
此方法返回Boolean类型,当可以转换并转换成功时返回true,当转换失败时返回false
转换成功之后虽然只有返回值true,但是转换后的DateTime时间同时赋给参数timeValue,只是不作为返回值返回,但是在后面
的操作中可以将timeValue作为已知变量;转换失败同转换成功,只是timeValue为System.DateTime.MinValue,
即0001-01-01 00:00:00。
例:
转换失败:
DateTime dateValue;
string str="201a-02-12";
bool b = DateTime.TryParse(str,out dateValue);
Console.WriteLine(b+","+dateValue);//false,0001-01-01 00:00:00
Console.ReadKey();
转换成功:
DateTime dateValue;
string str="2017-02-12";
bool b = DateTime.TryParse(str,out dateValue);
Console.WriteLine(b+","+dateValue);//True,2017-01-12 00:00:00
Console.ReadKey();
4:对于时间字符串"yyyy-MM-ddTHH:mm:ss"转换成字符串"yyyyMMddHHmmss"
string str = "2017-01-24T10:27:00";
DateTime date = DateTime.Parse(str).toString("yyyyMMddHHmmss");
5:对于默认类型DateTime"yyyy-MM-dd HH:mm:ss"转换成字符串"yyyyMMddHHmmss"
DateTime time=DateTime.now.ToString("yyyyMMddHHmmss")
6:自动化日期转成相应的DateTime时间yyyy-MM-dd HH:mm:ss
string number="40791";
DateTime date=DateTime FromOADate(Convert.ToDouble(number));