Преобразовать формат строкового значения ГГГГММДДЧЧММСС в C # DateTime - PullRequest
29 голосов
/ 12 июня 2010

Мне нужно преобразовать строковое значение в форме "ГГГГММДДЧЧММСС" в DateTime. Но не уверен, как, может быть, DateTime.Tryparse может быть использован, чтобы это произошло. Или есть другой способ сделать это. Я могу сделать это, используя некоторые строковые операции, чтобы взять только «ГГГГММДД», преобразовать в дату и время, а затем добавить ЧЧ, ММ, СС отдельно к этому DateTime. Но есть ли методы DateTime.TryParse (), которые я могу использовать в одной строке, чтобы преобразовать строковое значение формата «ГГГГММДДЧЧММСС» в значение DateTime?

Ответы [ 2 ]

72 голосов
/ 12 июня 2010

Определите свою собственную строку формата синтаксического анализа для использования.

string formatString = "yyyyMMddHHmmss";
string sample = "20100611221912";
DateTime dt = DateTime.ParseExact(sample,formatString,null);

В случае, если у вас есть дата и время с миллисекундами, используйте следующий formatString

string format = "yyyyMMddHHmmssfff"
string dateTime = "20140123205803252";
DateTime.ParseExact(dateTime ,format,CultureInfo.InvariantCulture);

Спасибо

17 голосов
/ 12 июня 2010

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

var date = DateTime.ParseExact(value, "yyyyMMddHHmmss", CultureInfo.InvariantCulture);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...