2016-11-22 25 views
-2

我試圖解析日期時間:17/10/2016 6:52:13作爲文本DateTime但我總是得到01/01/0001作爲輸出。如何解析「17/10/2016 6:52:13」到DateTime

我的代碼是:

DateTime.TryParseExact(dateTime, "dd/MM/yyyy" + " " + "hh:mm:ss", 
         CultureInfo.InvariantCulture, DateTimeStyles.None, out timeStamp); 

任何線索?

+1

'TryParseExact'返回解析的布爾結果,你根本不理會它。 –

+0

@dave請不要爲標題添加標籤,除非有必要。 – slugster

+0

@slugster肯定的事情(雖然在我的辯護中它已經在標題中) – dave

回答

3

您的輸入只有一位數的小時,但您的格式字符串使用兩個。另外,由於您沒有AM/PM說明符,因此您可能打算使用24小時制,這需要大寫H

嘗試使用"dd/MM/yyyy H:mm:ss"

有關更多詳細信息,請參閱this document

+0

當然,這將打破投入兩位數小時。 –

+1

@ChrisShain:不會的。 11或12在這種格式下工作得很好。 01,02等。 – StriplingWarrior

+0

如果他不使用24小時制格式,如16:35:29 – Kinetic

0

你可以這樣做。

string givenDate = "17/10/2016 06:52:13"; 
DateTime myDate = DateTime.ParseExact(givenDate, "dd/MM/yyyy hh:mm:ss", System.Globalization.CultureInfo.InvariantCulture); 

,或者你可以簡單地使用「H:MM:SS」考慮到你給定的時間是6時52分13秒