У меня возникла проблема с анализом строкового представления значения DateTime обратно в экземпляр DateTime с использованием метода DateTime.ParseExact(..).DateTime TryParseExact не анализирует подобную строку?
По какой-то причине использование похожих форматированных строк (или, может быть, я слеп) с разными значениями работает для значения A) и не имеет другого значения для значения b), и я должен что-то пропустить здесь .. но я просто могу " т найти:
var d1 = "14/10/2013 2:16:18 PM";
var d2 = "27/08/2016 12:20:34 PM";
var dFormat = "dd/MM/yyyy H:mm:ss tt";
DateTime dt = DateTime.MinValue; // out value for .TryParseExact(..)
var tryParseResultD1 = DateTime.TryParseExact(d1, dFormat, System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.AssumeUniversal, out dt);
var tryParseResultD2 = DateTime.TryParseExact(d2, dFormat, System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.AssumeUniversal, out dt);
tryParseResultD1.Dump(); // << returns False
tryParseResultD2.Dump(); // << returns True
.. почему-то пытается разобрать «d1» строка не работает, но разборе «d2» делает, и я не знаю, почему.
Кто-нибудь знает или видит, что здесь происходит?
Вы должны изменить «H» для «ч», как «ч» представляет _The час, используя 12-часовые часы от 1 до 12_ и 'H' представляет собой час, используя 24-часовой такт от 0 до 23_ –
О, мой .. да .. Я тоже это видел - спасибо @MartinParkin !! –