Я пишу парсер данных и пытаюсь определить, является ли поле числом, датой, строкой и т. Д. c.
. NET DateTime.TryParse
работает достаточно медленно при проверке много записей (так как он проверяет много разных форматов даты). Поэтому я хочу сократить обработку, если это возможно. Простая проверка, которую я могу сделать изначально, - это посмотреть на длину строки и отклонить ее, если она выходит за пределы определенных границ.
Самая короткая дата, которую, как мне кажется, разумно ожидать, составляет 6 символов (например, d / M / yy), поэтому я могу выполнить следующую проверку:
if (fieldValue.Length < 6)
{
// no datetime is shorter than 6 chars (e.g. d/M/yy is the shotest I can think of)
return false;
}
Какая самая длинная строка все еще представляет DateTime с возможностью синтаксического анализа?
(Например, «Среда, 30 сентября 2020 г., 12:34:56» довольно длинное слово, но я уверен, что есть более длинные примеры!)
Несколько моментов:
- Я не ищу хитрых ответов где дата дополнена пробелом или чем-то в этом роде.
- Сначала я сосредоточен на датах Engli sh, но мне было бы интересно, могут ли другие культуры выдавать более длинные примеры.