C# string 类型转换 datetime类型?
string strTimeNow = “200910”;
想把这种日期形式 转换成日期类型
DateTime d3=DateTime.Parse(strTimeNow); 这样为什么不行呢?? 展开
一、Convert.ToDateTime(string)
string格式有要求,必须是yyyy-MM-dd hh:mm:ss
二、Convert.ToDateTime(string, IFormatProvider)
DateTime dt;
DateTimeFormatInfo dtFormat = new System.GlobalizationDateTimeFormatInfo();
dtFormat.ShortDatePattern = "yyyy/MM/dd";
dt = Convert.ToDateTime("2011/05/26", dtFormat);
三、DateTime.ParseExact()
string dateString = "20110526";
DateTime dt = DateTime.ParseExact(dateString, "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);
或
DateTime dt = DateTime.ParseExact(dateString, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture);
因为inString的格式有要求,这跟你预置的culture有关,通常为yyyy-MM-dd。
你可以截取拼接,然后在调用DataTime.Parse(String inString);
扩展资料:
注意事项
CultureInfo cultureInfo = CultureInfo.CreateSpecificCulture("en-US"); string format = "ddd MMM d HH:mm:ss zz00 yyyy"; string stringValue = DateTime.Now.ToString(format, cultureInfo); //
得到日期字符串DateTime datetime = DateTime.ParseExact("Wed Aug 25 16:28:03 +0800 2010", format, cultureInfo); // 将字符串转换成日期,
其他日期格式:yyyyMMdd HH:mm:ss(注意此字符串的字母大小写很严格)yyyy代表年份;MM代表月份;dd代表天;HH代表小时(24小时制);mm 代表分钟;ss代表秒。
string格式有要求,必须是yyyy-MM-dd hh:mm:ss
================================================
方法二:Convert.ToDateTime(string, IFormatProvider)
DateTime dt;
DateTimeFormatInfo dtFormat = new System.GlobalizationDateTimeFormatInfo();
dtFormat.ShortDatePattern = "yyyy/MM/dd";
dt = Convert.ToDateTime("2011/05/26", dtFormat);
你可以这样做,
string strTimeNow = “200910”;
strTimeNow = strTimeNow.Insert(4,"-");//就变成2009-10 这样就可以转换成时间类型拉,
DateTime d3=DateTime.Parse(strTimeNow);
或者
DateTime d1=DateTime.ParseExact(strTimeNow ,"yyyyMM",null);
不行的可以hi我,