This line of code:
DateTime dt = DateTime.ParseExact(time, "hh:mm", CultureInfo.InvariantCulture);
parses a "time" value of "12:45" just fine, but throws an exception of "13:00"
Should I be using some other CultureInfo value, or do I need to append a "pm" to hour values above 12, or ... ?
Error message is: System.FormatException was unhandled
Message=String was not recognized as a valid DateTime.
"hh" is the 12-hour clock format (01 to 12). You need to use "HH" for a 24 hour clock.
DateTime dt = DateTime.ParseExact(time, "HH:mm", CultureInfo.InvariantCulture);
Try this:
DateTime dt = DateTime.ParseExact(time, "u", CultureInfo.InvariantCulture);
"u"
indicates universal sortable format.
Though Hans already answered your question in comment section, Here is an MSDN link describing all kinds of date formats used with DateTime.ParseExact
method.