У меня есть строка следующего формата "ORDER20100322194007"
, где 20100322
дата и 194007
время. Как проанализировать строку и получить содержавший DateTime
объект?
Всегда ли он будет начинаться с 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» "из шаблона формата выше.
Вы можете использовать метод DateTime.ParseExact для указания формата, который должен использоваться при разборе.
Если у вас нет фиксированной структуры строки, скажем, порядок не всегда будет, вы можете использовать регулярное выражение для разделения чисел и символов, а затем использовать функцию convert to datetime для разделенных чисел.