2015-02-10 4 views
1

Я кодирую интернет-приложение MVC 5, и у меня есть Bootstrap DateTimePicker (https://github.com/Eonasdan/bootstrap-datetimepicker), чтобы выбрать DateTime. Прежде чем я добавлю значение DateTime к объекту модели, я использую функцию TryParseExact, чтобы проверить, что DateTime действителен.TryParseExact failing with DateTime

Я получаю сообщение об ошибке с кодом TryParseExact.

Вот пример:

Выбранный DateTime является 30 December 2015 с DateTimePicker. Это отображается как:

12/30/2015 3:09:32 PM 

Мой TryParseExact код выглядит следующим образом:

DateTime mapLocationStartDate; 
string format = "MM-dd-yyyy h:mm:ss tt"; 
if (!DateTime.TryParseExact(iMapLocationDate.displayMapLocationStartDate, format, CultureInfo.InvariantCulture, DateTimeStyles.None, out mapLocationStartDate)) 
{ 

} 

12/30/2015 3:09:32 PM проваливает TryParseExact код.

Могу ли я, пожалуйста, помочь с этим?

Заранее спасибо.

+4

Ваше значение использует '/' в качестве разделителя даты, но ваш формат ожидается '-'. Почему вы ожидаете, что правильно разобрать? – MarcinJuraszek

+0

Дата, отображаемая в элементе управления, скорее всего, отформатирована иначе, чем дата, отправленная по проводу и проанализированная вашим кодом. Посмотрите дату на стороне сервера, чтобы определить, какой формат использовать. –

ответ

1

Если ваше значение iMapLocationDate.displayMapLocationStartDate равно «12/30/2015 3:09:32 PM», и вы ожидаете, что он всегда будет в этом формате, а затем используйте формат, который точно соответствует ему.

Пожалуйста, попробуйте этот формат вместо:

string format = "MM/dd/yyyy h:mm:ss tt"; 
Смежные вопросы