EyeSeeSharp
EyeSeeSharp

Reputation: 645

Unable to parse DateTime with a custom format

After reading some other similar questions and trying their suggestions, I'm still unable to get my time to parse into a DateTime-

string time1 = File.ReadAllText(@"C:\Reminders\Reminder1Time.txt");
DateTime dt1 = DateTime.ParseExact(time1, "hh:mm:tt", CultureInfo.InvariantCulture);
dateTimePicker1.Value = dt1;

time1 is a string value of 9:00 AM Other questions have mentioned to use ParseExact to specify a custom format, but it's still not parsing.

The error I get thrown is on the second line

String was not recognized as a valid DateTime.

How would I get the dateTimePicker1 to display the value from the time1 string?

Upvotes: 1

Views: 273

Answers (2)

user5524649
user5524649

Reputation:

var datefromFile = File.ReadAllText(FILELOCATION);
var format = "dd-MM-yyy hh:mm:ss,fff";
var formattedDateTime = DateTime.ParseExact(dateFromFile, format, CultureInfo.InvariantCulture);

Make your format Explicit, remember dd for date capital MM for month and yyyy for year. hh for hour mm for minutes and ss for seconds.

MSDN Formats:

https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx

Upvotes: 0

Adam Houldsworth
Adam Houldsworth

Reputation: 64467

Looks like a stray colon and an extra h if you are expecting a 12 hour clock 1-12 without a leading zero and the AM PM marker with whitespace.

Try: h:mm tt

All of the formatting options are buried in the documentation, here.

Upvotes: 1

Related Questions