Строка '26 / MAR / 2020 09:00 AM 'не была распознана как допустимый DateTime. Существует неизвестное слово, начинающееся с индекса «18».
Как видно из названия, у меня возникла проблема с отображением даты в веб-приложении angular. На самом деле дата работает просто отлично при запуске API локально. Такие же результаты возникают, тестирую ли я от почтальона или самого приложения. При локальном указании на API все работает нормально, при указании на API при размещении на azure возникает указанная выше ошибка. Вот некоторая информация о моей среде.
- API: .Netcore 3.1
- Веб-приложение: Angular
- Хост: Azurewebsites
Вот код при форматировании даты. Имя переменной FechaUltimaMod
string dateFormat = "d/MMM/yyyy hh:mm tt";
CultureInfo ci = CultureInfo.CreateSpecificCulture("es-MX");
DateTimeFormatInfo dtfi = ci.DateTimeFormat;
dtfi.AbbreviatedMonthGenitiveNames = dtfi.AbbreviatedMonthGenitiveNames.Select(p => p.TrimEnd('.')).ToArray();
response.Select(p => { p.FechaUltimaMod = DateTime.Parse(p.FechaUltimaMod).ToString(dateFormat, ci).ToUpper(); return p; }).ToList();
Странно то, что локально она работает просто отлично, ошибка возникает только в том случае, если API находится на azure.
PS У меня нет доступа к учетной записи azure.
Редактировать:
Я заметил, что в сообщении об ошибке упоминается неизвестное слово, начинающееся с индекса «18», которое оказывается индекс «А» в разделе AM. Я сделал следующую модификацию.
From:
string dateFormat = "d/MMM/yyyy hh:mm tt";
To:
string dateFormat = "d/MMM/yyyy hh:mm";
И больше не выдает ошибку. Я не знаю почему, но все еще не исправлено, потому что я хочу tt
в дате. Просто и дополнительные фю.