Ответ 1
"hh" - это 12-часовой формат часов (от 01 до 12). Вам нужно использовать "HH" для 24-часовых часов.
DateTime dt = DateTime.ParseExact(time, "HH:mm", CultureInfo.InvariantCulture);
Эта строка кода:
DateTime dt = DateTime.ParseExact(time, "hh:mm", CultureInfo.InvariantCulture);
анализирует "время" значение "12:45" просто отлично, но исключает "13:00"
Должен ли я использовать какое-то другое значение CultureInfo, или мне нужно добавить "pm" в значение часа выше 12 или...?
Сообщение об ошибке: System.FormatException был необработанным Message = String не была признана допустимым DateTime.
"hh" - это 12-часовой формат часов (от 01 до 12). Вам нужно использовать "HH" для 24-часовых часов.
DateTime dt = DateTime.ParseExact(time, "HH:mm", CultureInfo.InvariantCulture);
Попробуйте следующее:
DateTime dt = DateTime.ParseExact(time, "u", CultureInfo.InvariantCulture);
"u"
указывает универсальный формат сортировки.
Хотя Ханс уже ответил на ваш вопрос в разделе комментариев, Здесь является ссылкой MSDN, описывающей все виды форматов даты, используемых с методом DateTime.ParseExact
.