У меня есть строка 12.02.2022 06:53:43, и я хочу разобрать ее на дату и время, чтобы выполнить следующую проверку
string myDate = "02/12/2022 06:53:43";
DateTime.Parse(myDate).AddMinutes(-2) < DateTime.UtcNow)
Но выдает ошибку: строка не была распознана как допустимая дата и время.
Как я могу разобрать дату?
Попробуй это:
DateTime date = DateTime.ParseExact("02/12/2022 06:53:43", "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture);
В вашем шаблоне есть двойное двоеточие, и исходный код работал нормально.
О да, спасибо, я исправил.
ОП: Если ваша дата — второе декабря, этот формат сработает. Если ваша дата — двенадцатое февраля, вам нужно изменить ее на "MM/dd/yyyy HH:mm:ss"
.
Это 12 февраля или 2 декабря? ;)
Вы можете использовать ParseExact
. В Метод DateTime.ParseExact есть много примеров.
Вот то, что подходит для вашего формата, если это 2 декабря.
var dateString = "02/12/2022 06:53:43";
var format = "dd/MM/yyyy hh:mm:ss";
var result = DateTime.ParseExact(dateString, format, CultureInfo.InvariantCulture);
За исключением синтаксической ошибки не могу воспроизвести эту ошибку, опубликуйте минимальный воспроизводимый пример и посмотрите на использование DateTime.TryParseExact.