Проанализируйте строку, содержащую дату и время в пользовательском формате

У меня есть строка следующего формата "ORDER20100322194007", где 20100322 дата и 194007 время. Как проанализировать строку и получить содержавший DateTime объект?

46
задан akrisanov 25 July 2017 в 21:33
поделиться

3 ответа

Всегда ли он будет начинаться с ORDER ?

string pattern = "'ORDER'yyyyMMddHHmmss";
DateTime dt;
if (DateTime.TryParseExact(text, pattern, CultureInfo.InvariantCulture, 
                           DateTimeStyles.None,
                           out dt))
{
    // dt is the parsed value
} 
else 
{
    // Invalid string
}

Если недопустимая строка должна вызывать исключение, используйте DateTime .ParseExact вместо DateTime.TryParseExact

Если он не всегда начинается с «ORDER», то сделайте все, что вам нужно, чтобы получить только часть даты и времени, и удалите «ORDER» "из шаблона формата выше.

90
ответ дан 26 November 2019 в 20:20
поделиться

Вы можете использовать метод DateTime.ParseExact для указания формата, который должен использоваться при разборе.

9
ответ дан 26 November 2019 в 20:20
поделиться

Если у вас нет фиксированной структуры строки, скажем, порядок не всегда будет, вы можете использовать регулярное выражение для разделения чисел и символов, а затем использовать функцию convert to datetime для разделенных чисел.

1
ответ дан 26 November 2019 в 20:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: