Я пытаюсь найти подходящую строку формата для анализа (точного) следующих типов дат:
1-01-01T00:00:00+00:00
- 1 января 0001 2011-12-14T15:53:40+00:00
- 14 декабря 2011 г.
Таким образом, длина года кажется переменной (1-4 символа).
Строка формата, которую я в настоящее время использую для точного анализа:
c_DateTimeFormatString = "yyyy-MM-ddTHH':'mm':'sszzz"
Очевидно, это соответствует только второй строке.Первый всплыл сегодня.Теперь мы должны соответствовать этому.
Есть ли строка формата для достижения этой цели?
ОБНОВЛЕНИЕ # 1
Я добавилфактические даты в виде открытого текста после введенных строк даты.
ОБНОВЛЕНИЕ № 2
Точный анализ имеет перегрузку, которая позволяет передавать несколько строк форматав. Это, кажется, правильный путь.
Итак, первая попытка была использовать:
DateTime.ParseExact("1-01-01T00:00:00+00:00 ", new[] { "yyyy-MM-ddTHH':'mm':'sszzz", "yyy-MM-ddTHH':'mm':'sszzz", "yy-MM-ddTHH':'mm':'sszzz", "y-MM-ddTHH':'mm':'sszzz" }, CultureInfo.CreateSpecificCulture("en-US"), DateTimeStyles.AssumeLocal)
Но, к сожалению, это не дает правильного результата, первая строка даты анализируется как:
01.01.2001
, а не
01.01.0001
Итак, теперь возникает вопрос: какова правильная строка для анализа первого года, представленная только одной цифрой?