2013-07-01 142 views
-7

我有格式爲「yyyyMMdd」的字符串。 我想將它們轉換成格式的DateTime,但我得到一個錯誤,說該字符串作爲DateTime字符串無效。 我該怎麼做?字符串作爲日期時間字符串無效 - 將「yyyyMMdd」轉換爲datetime

+0

你有沒有試過? http://mattgemmell.com/2008/12/08/what-have-you-tried/ –

+1

-1,沒有研究工作。關於這個問題已經有成千上萬的問題。 – ken2k

+0

可能的重複[轉換字符串到DateTime在C#](http://stackoverflow.com/questions/1592653/convert-string-to-datetime-in-c-sharp) – ken2k

回答

5

使用DateTime.ParseExact指定的格式和不變文化:

var date = DateTime.ParseExact(date, "yyyyMMdd", CultureInfo.InvariantCulture); 
4

嘗試DateTime.TryParseExact

DateTime dt; 

DateTime.TryParseExact(textBox.Text, "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt); 
4

使用DateTime.ParseExact

string dateString = "20130701"; 
DateTime dt = DateTime.ParseExact(dateString, "yyyyMMdd", null, DateTimeStyles.None); 
-2

打破他們入格式DateTime.Parse會接受爲有效。你甚至可以使用正則表達式解析出的信息

Regex format = new Regex("(?<year>^[0-9]{4})(?<month>[0-9]{2})(?<day>[0-9]{2})"); 
Match m = format.Match(inputString); 
int year = int.Parse(m.Groups["year"].Value; 
int month = int.Parse(m.Groups["month"].Value; 
int day = int.Parse(m.Groups["day"].Value; 
DateTime date = new DateTime(year, month, day); 
相關問題