2010-10-06 68 views
2

我的字符串是這樣的:「0:385」(第一號是秒,下一個數字是毫秒),我想在DataGridView中使用與排序相同的數字(不喜歡字符串),所以我想從字符串使DateTime,但我不知道這是如何做到這一點。我知道我應該使用方法解析(或ParseExact),但是當我試圖它說:「字符串未被識別爲有效的DateTime。」我讀了一些關於這方面的文章,但我不確定如何使用IFormatProvider和下一個參數。 感謝您的幫助將字符串時間

回答

6

你可以使用以下方法:TimeSpan.Parse("0:0:0.365")

但你必須格式化像這樣的字符串:[d] HH:MM:SS [.ff](這一天[d]和分數秒[FF]是可選)

TimeSpan.Parse Method on MSDN

+0

Thansk,它可以幫助,我想我必須修復字符串正確的格式。 – 2010-10-06 09:27:15

4

由於您缺少字符串中的日,月和年,因此您無法將其解析爲DateTime。

嘗試使用TimeSpan代替。

+0

我想時間跨度之前,但是當我使用的方法解析它說:「時間跨度無法解析,因爲小時,分鐘或秒組分中的至少一個超出其有效範圍」 – 2010-10-06 09:17:41

0

TimeSpan.Parse( 「0:0:0」 + str.Replace( ':' ''))

0

請試試這個,

var dt = new DateTime(2010, 06, 26); // time is zero by default 
string currTime = "19:04:06";//dateTimePicker1.Value.TimeOfDay.ToString(); 
var tm = TimeSpan.Parse(currTime); 
var fullDt = dt + tm;