Подтвердить что ты не робот

Преобразование формата строк в формате YYYYMMDDHHMMSS в С# DateTime

Мне нужно преобразовать строковое значение в форме "YYYYMMDDHHMMSS" в DateTime. Но не уверен, как может быть DateTime.Tryparse можно использовать, чтобы это произошло. Или есть другой способ сделать это. Я могу сделать это, используя некоторые строковые операции, чтобы взять только "YYYYMMDD", конвертировать в datetime, а затем добавить HH, MM, SS отдельно к этому DateTime. Но есть ли методы DateTime.TryParse(), которые я могу использовать в одной строке для преобразования строкового значения формата YYYYMMDDHHMMSS в значение DateTime?

4b9b3361

Ответ 1

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

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

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

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

Спасибо

Ответ 2

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

var date = DateTime.ParseExact(value, "yyyyMMddHHmmss", CultureInfo.InvariantCulture);