Прежде чем я начну объяснять, я должен сказать, что испробовал все возможные решения этой проблемы, представленные в stackoverflow. Но не работает в виндовс 7.
В Windows 7 не работает синтаксический анализ даты и времени. я пробовал следующие фрагменты кода
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.