Я использую NodaTime, версия = 2.2.3.0. Я настроил шаблон для соответствия различным шаблонам Instant. Последний шаблон должен соответствовать приведенным ниже примерам.
IPattern<Instant> pattern = new CompositePatternBuilder<Instant>
{
{ InstantPattern.CreateWithInvariantCulture("yyyy'-'MM'-'dd HH':'mm':'ss.FFFFFFF") , _ => true },
{ InstantPattern.CreateWithInvariantCulture("MM'/'dd'/'yyyy HH':'mm':'ss.FFFFFFF") , _ => false },
{ InstantPattern.CreateWithInvariantCulture("dd'-'MM'-'yyyy HH':'mm':'ss.FFFFFFF") , _ => false },
{ InstantPattern.CreateWithInvariantCulture("dd'/'MM'/'yyyy HH':'mm':'ss.FFFFFFF") , _ => false },
{ InstantPattern.CreateWithInvariantCulture("M'/'dd'/'yyyy HH':'mm':'ss.FFFFFFF") , _ => false },
{ InstantPattern.CreateWithInvariantCulture("MM'/'dd'/'yyyy HH':'mm':'ss.FFFFFFF") , _ => false },
{ InstantPattern.CreateWithInvariantCulture("M.d.yyyy HH':'mm':'ss.FFFFFFF") , _ => false },
{ InstantPattern.CreateWithInvariantCulture("dd.MM.yyyy HH':'mm':'ss.FFFFFFF") , _ => false },
{ InstantPattern.CreateWithInvariantCulture("M'/'d'/'yyyy H':'mm':'ss tt") , _ => false },
{ InstantPattern.CreateWithInvariantCulture("M'/'d'/'yyyy HH':'mm':'ss tt") , _ => false },
}
.Build();
Я могу разобрать два первых из
- "9/28/2017 10:55:49 AM"
- "9/22/2017 12:02:53 PM"
- "1/11/2018 12:25:59 AM"
Но не 3-й. Почему ?
сообщение об ошибке указывает на ошибку «^ 1/11/2018 00:25:59» в первой позиции строки.