Невозможно правильно проанализировать дату из ячейки Excel - PullRequest
0 голосов
/ 28 июня 2018

Я импортирую строки Excel, и один из столбцов является полем даты. Есть два сценария, в которых я получаю дату.

first - я правильно получаю дату в виде двойного числа. Для этого сценария просто DateTime.FromOADate(parsedDouble) работает.

Сценарий second по любой причине: клиент неправильно отформатировал ячейку или значение в ячейке не было правильно распознано, хотя является допустимой датой. Например, дата будет 1/12/2016, а в британском формате - 1st December 2016. Excel также передает информацию о формате для ячейки, поэтому в этом случае она проходит через формат ячейки "dd/mm/yyyy". Это правильный формат дня / месяца / года в Excel, однако мне нужно иметь возможность разобрать его в C #, и я не могу, потому что строчные буквы mm это минут , а не месяцев .

Так что следующее не сработает.

var x = DateTime.ParseExact("12/12/2016", "dd/mm/yyyy", System.Globalization.CultureInfo.InvariantCulture);

Будет выводиться 12/01/2016 00:12:00

Я осмотрелся вокруг и, похоже, не смог найти кого-то еще с такой же проблемой, и я не совсем уверен, как с этим справиться.

Очевидным (нежелательным) решением было бы взломать его и сопоставить формат excel с dd/mm/yyyy с dd/MM/yyyy.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...