Как преобразовать строку типа "10/19/2017 12:00:00 AM" в DateTime? Я использовал Convert.ToDateTime(), но выдает ошибку как;

Строка не была распознана как действительный DateTime.

Как исправить?

2
NHK 19 Окт 2017 в 07:04

3 ответа

Лучший ответ

Вы должны использовать ParseExact

var result = DateTime.ParseExact("10/19/2017 12:00:00 PM", "MM/dd/yyyy HH:mm:ss tt", CultureInfo.InvariantCulture);
2
Soner Gönül 19 Окт 2017 в 06:17

Convert.ToDateTime didn ' Для анализа не указано форматирование, вам необходимо использовать DateTime.ParseExact или DateTime.TryParseExact :

// DateTime.ParseExact
DateTime date = DateTime.ParseExact("10/19/2017 12:00:00 PM", "MM/dd/yyyy HH:mm:ss tt", CultureInfo.InvariantCulture);

// DateTime.TryParseExact
DateTime.TryParseExact("10/19/2017 12:00:00 PM", "MM/dd/yyyy HH:mm:ss tt", CultureInfo.InvariantCulture, DateTimeStyles.None, out date);
2
Tetsuya Yamamoto 19 Окт 2017 в 04:14
 String MyString= "10/19/2017 12:00:00 AM";
        DateTime MyDateTime = new DateTime();
        MyDateTime = DateTime.ParseExact(MyString, "MM/dd/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture);

Формат соответствует приведенному ниже.

D - числовой день месяца без начального нуля.

Дд - числовой день месяца с нулем в начале.

Ддд - сокращенное название дня недели.

Dddd - полное название дня недели.

F, ff, fff, ffff, fffff, ffffff, fffffff - доля секунды. Чем больше F, тем выше точность.

Ч - 12 часов, без нуля.

Чч - 12 часовые часы с ведущим нулем.

H - 24-часовые часы, без нуля в начале.

ЧЧ - 24-часовые часы с ведущим нулем.

M - минуты без начального нуля. мм - минуты с нулем в начале.

M - Числовой месяц без нуля в начале.

MM - Числовой месяц с нулем в начале.

МММ - сокращенное название месяца.

ММММ - полное название месяца.

S - секунды без начального нуля. ss - секунды с нулем в начале.

T - AM / PM, но только первая буква. tt - AM / PM (утра / часа)

Y - Год без столетия и с нулем в начале.

Yy - год без века, с нулем в начале.

Гггг - год с веком.

Zz - часовой пояс отключен с помощью +/-.

2
Ansil F 19 Окт 2017 в 04:19