Разбор строки в формате DateTime - PullRequest
0 голосов
/ 18 июня 2011

У меня есть следующая строка "16:07:57.796" как я могу разобрать это на 6/18/2011 16:07:57?

Если я просто попытаюсь разобрать его DateTime.Parse("16:07:57.796") Я получу 6/18/2011 04:07:57 PM И это не то, что мне нужно.

Спасибо за помощь.

Ответы [ 3 ]

1 голос
/ 18 июня 2011

Он анализируется правильно (так как 16:00 - 16), но это информация о вашей локали, которая отображает ее не так, как вы хотите.Вы должны использовать следующий метод ToString , который принимает IFormatProvider, в котором вы можете передать CultureInfo , который подходит вам.

В противном случае вы можете отформатировать строку, используя пользовательские дата и время форматы, подобные следующим:

date.ToString("M/dd/yyyy HH:mm:ss")
0 голосов
/ 18 июня 2011

Он правильно анализирует его до указанного времени текущей даты.

Если вы не хотите использовать текущую дату, вы можете использовать перегрузку, которая принимает параметр DateTimeStyles, и указать DateTimeStyles.NoCurrentDateDefault,В этом случае дата будет 01/01/0001.

0 голосов
/ 18 июня 2011

Похоже, что он хорошо разбирает строку. Вы просто хотите отобразить его в 24-часовом формате вместо 12-часового формата (16:07:57 - это то же самое, что 16:07:57 PM). Попробуйте что-то вроде DateTime.Parse("16:07:57.796").ToString("M/d/yyyy H:mm:ss").

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...