Libor Zapletal
Libor Zapletal

Reputation: 14102

Converting string to time

I have string like this:"0:385" (first number is seconds, next numbers are milliseconds), I want to use in datagridview with sorting like numbers (not like strings) so I am trying to make DateTime from string but I am not sure how exactly do this. I know I should use method Parse (or ParseExact) but when I tried it it says "String was not recognized as a valid DateTime.". I read some articles about that but I am not sure how exactly use IFormatProvider and next arguments. Thanks for help

Upvotes: 3

Views: 9215

Answers (4)

Manoj Savalia
Manoj Savalia

Reputation: 1402

Please try this,

 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;  

Upvotes: 0

Jon Hanna
Jon Hanna

Reputation: 113372

TimeSpan.Parse("0:0:0" + str.Replace(':', '.'))

Upvotes: 0

Oded
Oded

Reputation: 499302

Since you are missing day, month and year from your string, you will not be able to parse it to a DateTime.

Try using a TimeSpan instead.

Upvotes: 4

TheFitGeekGirl
TheFitGeekGirl

Reputation: 1253

You could use the following: TimeSpan.Parse("0:0:0.365")

But you must format the string like this: [d.]hh:mm:ss[.ff] (The day [d] and fractional seconds [ff] are optional)

See TimeSpan.Parse Method on MSDN

Upvotes: 7

Related Questions