Едва ли можно что-то добавить к ответам Джона, но в этом случае я бы хотел подчеркнуть:
Постарайтесь понять, что ваша проблема не в типе данных DateTime, а в том, что ваша строка даты не соответствует ожидаемому формату (основанному на региональных настройках / культуре потока), который имеет конструктор DateTime.
Вы говорите, что «вынуждены» использовать тип данных DateTime. Вы должны помнить, что Даты всегда должны рассматриваться как Даты. Я видел слишком много разработчиков, попавших в ловушку использования дат в качестве строк (и выполнения операций разделения / поиска) вместо использования DateTime, потому что они считают, что последнее слишком сложно.