@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.
  • Вопрос задан
  • 82 просмотра
Пригласить эксперта
Ответы на вопрос 2
@estry Автор вопроса
Решил вот так
string date = "03.09.2020 5:00:00";
DateTime dt;
if (DateTime.TryParse(date, DateTimeFormatInfo.CurrentInfo, DateTimeStyles.None, out dt))
{
}
Ответ написан
@vabka
Fullstack dev
Неправильный формат- вы ожидаете, что в дате часы будут двумя цифрами, а приходит одной. Ну и культуру наверно имеет смысл использовать инвариантную.
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();
}
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
BRIO MRS Казань
от 70 000 до 120 000 ₽
Frostgate studio Новосибирск
от 60 000 до 100 000 ₽
28 сент. 2020, в 00:10
15000 руб./за проект
27 сент. 2020, в 21:54
15000 руб./за проект