@estry

Как выпарсить дату C#?

Привет. Есть дата в формате: 03.09.2020 5:00:00
как ее преобразовать в DateTime?
Делаю вот так:
string date = "03.09.2020 5:00:00";

DateTime dt = DateTime.ParseExact(date, "dd.MM.yyyy HH:mm:ss", CultureInfo.CurrentCulture);

return dt;

Получаю ошибку - Строка не распознана как действительное значение DateTime.
  • Вопрос задан
  • 1010 просмотров
Пригласить эксперта
Ответы на вопрос 2
@estry Автор вопроса
Решил вот так
string date = "03.09.2020 5:00:00";
DateTime dt;
if (DateTime.TryParse(date, DateTimeFormatInfo.CurrentInfo, DateTimeStyles.None, out dt))
{
}
Ответ написан
Комментировать
vabka
@vabka Куратор тега C#
Токсичный шарпист
Неправильный формат- вы ожидаете, что в дате часы будут двумя цифрами, а приходит одной. Ну и культуру наверно имеет смысл использовать инвариантную.
var date = "03.09.2020 5:00:00";
var format = "dd.MM.yyyy H:mm:ss";
var dt = DateTime.ParseExact(date, format, CultureInfo.InvariantCulture);
dt.Dump();

Ещё лучше вариант - делать TryParse
var date = "03.09.2020 5:00:00";
const string format = "dd.MM.yyyy H:mm:ss";
if (DateTime.TryParseExact(date,
		format,
		CultureInfo.InvariantCulture,
		DateTimeStyles.None,
		out var dt)
	)
{
	dt.Dump();
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы