I try to convert string to datetime but each time I get :
String was not recognized as a valid DateTime.
Code is:
string format = "dd/MM/yyyy";
obj.TransDate = DateTime.ParseExact(lbl_TransDate.Text.Split('/')[0] + "/" + lbl_TransDate.Text.Split('/')[1] + "/" + lbl_TransDate.Text.Split('/')[2], format, CultureInfo.InvariantCulture);
When I debug the date which I try to parse it is : 12/4/2012
The desired format is
I don’t understand a thing though, why split an concatenate the string, since you would obtain the same thing?
If the input is 12/4/2012, after the split by ‘/’, you’ll get 12, 4, 2012 and then concatenate them back to obtain “12/4/2012”. Why this?
Also, if you really need that split, you can store in into an array so you don’t need to split it 3 times:
If you don’t trust the input, the splits array might not be of Length = 3, and more of it, you can use DateTime.TryParseExact
EDIT You can use the overload with multiple formats
So if the input might be 12/4/2012 or 12/04/2012, you can give both formats