У меня есть два времени (как String
) для сравнения.Эти значения синхронизации имеют формат, как можно понять из кода ниже:
1-е значение синхронизации:
String fileTime = new FileInfo(fileName).LastWriteTime.ToUniversalTime().ToString("MM/dd/yyyy hh:mm tt");
2-е значение синхронизации: (я беру из списка индийских таймингов, доступных в базе данных)
DateTime date = DateTime.ParseExact(eachBinary.Date, "MM/dd/yyyy hh:mm tt", CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
date = TimeZoneInfo.ConvertTime(date, TimeZoneInfo.FindSystemTimeZoneById("India Standard Time"), TimeZoneInfo.Utc);
eachBinary.Date = date.ToString("MM/dd/yyyy hh:mm tt");
Как вы можете видеть выше, я хочу сравнить тайминги системных файлов с этимив записях БД.Здесь я вижу потенциальную проблему неравного времени даже после преобразования в UTC и последующего сравнения строк.
Я знаю, что сравниваемые здесь значения времени для файла (скажем, file1 )равны.Но приложение (или) приложение возвращается, поскольку они неравны.
Является ли DST проблемой в моем коде? Если это так, можете ли вы помочь в лечении ТЛЧ при сравнении.
РЕДАКТИРОВАТЬ1:
1-е значение синхронизации = 23.02.2012 09:08 (преобразовано из Тихоокеанской зоны, до преобразования было 23.02.2012, 12:08)
2-е значение синхронизации = 02/23/ 2012 08:08 (до преобразования это было 23.02.2012 13:38)