Прежде чем я начну объяснять, мне нужно сказать, что я пробовал все возможные решения этой проблемы, которые предусмотрены в stackoverflow. Но не работает в окнах 7.Обработчик DateTime не работает в Windows 7: строка не была признана действительной DateTime
В Windows 7 синтаксический анализ datetime не работает. я попытался следующие фрагменты кода
DateTime.ParseExact(arr[TransactionDateIndex], "M/dd/yyyy h:mm:ss tt", null);
DateTime.ParseExact(arr[TransactionDateIndex], "M/d/yyyy h:mm:ss tt",CultureInfo.InvariantCulture);
DateTime.Parse(DateTime.Parse(arr[TransactionDateIndex]).ToString("M/d/yyyy h:mm:ss tt"),CultureInfo.InvariantCulture);
У меня есть входной файл, который имеет столбец даты транзакции, и она может быть в любом допустимом формате дата-время, прямо сейчас в файле его (MM/DD/YYYY), который мне нужно преобразовать в формат «M/d/yyyy h: mm: ss tt».
При работе в XP этот код работает нормально, но в Windows 7 даже после попытки ParseExact показать ошибку.
Даже если я использую
if (DateTime.TryParse(input, out dateTime))
{
}
Во время работы в Windows 7, несколько записей будут рассматриваться как недействительные, но одни и те же вещи будут обработаны в XP.
В DateTime разобрать точным вы предоставите формат, который вы хотите, чтобы разобрать не формат, который вы хотите, чтобы разобрать в. –
Не видя входных данных, которые терпят неудачу, я не могу сказать здесь. –
Однако также работает «yyyy-MM-dd». –