Преобразование даты и времени и анализ DateTime.Now.ToString(MM/dd/yyyy hh:mm:ss.fff)

Я сохраняю дату и время в журнале CSV с помощью:

DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss.fff")

Когда я попытался прочитать это, я нашел что-то вроде:

"05/15/2012 10:09:28.650"

Проблема в том, что когда я снова пытаюсь использовать DateTime...

DateTime.Parse("05/15/2012 10:09:28.650");

Выдает исключение "Invalid DateTime" или что-то в этом роде...

Как я могу правильно перечитать DateTime?


person Ziba Leah    schedule 15.05.2012    source источник
comment
Взгляните на DateTime.ParseExact.   -  person Andreas    schedule 15.05.2012


Ответы (3)


Вы можете использовать DateTime.ParseExact:

string format = "MM/dd/yyyy hh:mm:ss.fff";
DateTime d = DateTime.ParseExact("05/15/2012 10:09:28.650",
                                format,
                                System.Globalization.CultureInfo.InvariantCulture);

Стандартные строки формата даты и времени

person Tim Schmelter    schedule 15.05.2012

используйте DateTime.ParseExact с указанием формата

String dateStr=DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss.fff");
DateTime date = DateTime.ParseExact(dateStr,"MM/dd/yyyy hh:mm:ss.fff",System.Globalization.CultureInfo.InvariantCulture);
person Tilak    schedule 15.05.2012
comment
ты сделал мой день вот это вуп - person r.hamd; 28.09.2015

Вы должны использовать этот метод для синтаксического анализа строки. Вам нужно будет создать класс, реализующий IFormatProvider, но если вы хотите использовать собственный формат DateTime, это лучший метод, который я могу придумать.

person Max    schedule 15.05.2012