Мне нужно преобразовать строковое значение в форме "YYYYMMDDHHMMSS" в DateTime. Но не уверен, как может быть DateTime.Tryparse можно использовать, чтобы это произошло. Или есть другой способ сделать это. Я могу сделать это, используя некоторые строковые операции, чтобы взять только "YYYYMMDD", конвертировать в datetime, а затем добавить HH, MM, SS отдельно к этому DateTime. Но есть ли методы DateTime.TryParse(), которые я могу использовать в одной строке для преобразования строкового значения формата YYYYMMDDHHMMSS в значение DateTime?
Преобразование формата строк в формате YYYYMMDDHHMMSS в С# DateTime
Ответ 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);