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代表秒。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-01
方法: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);
第2个回答  推荐于2017-09-20
格式不支持,

你可以这样做,
string strTimeNow = “200910”;
strTimeNow = strTimeNow.Insert(4,"-");//就变成2009-10 这样就可以转换成时间类型拉,

DateTime d3=DateTime.Parse(strTimeNow);

或者
DateTime d1=DateTime.ParseExact(strTimeNow ,"yyyyMM",null);

不行的可以hi我,本回答被提问者采纳
第3个回答  2010-07-12
DateTime d3=DateTime.ParseExact(strTimeNow,"yyyyMM",null);