Мне нужно сравнить две даты, включая секунды. Я обыскал в Интернете и получил два метода. Один из них - импорт Microsoft.VisualBasic dll
. Результат не тот, когда он запускает одни и те же данные. Я думаю, что C# должен делать то же самое без импорта VisualBasic. Может кто-то указать мне путь, чтобы он работал на C#?Сравните datetime получить другой результат
Заранее спасибо.
Существует один с помощью Microsoft.VisualBasic
if (Math.Abs(DateAndTime.DateDiff(DateInterval.Second,
Conversions.ToDate(colFilesFound[RuntimeHelpers.GetObjectValue(rw["file_path"])]),
Conversions.ToDate(rw["last_modified_timestamp"]),
FirstDayOfWeek.Sunday, FirstWeekOfYear.Jan1)) == 0L)
{
unchangedFileNum++;
Console.WriteLine("unchange");
}
else
{
modifiedFileNum++;
Console.WriteLine("change");
}
Существует еще один метод не используется Visual.dll:
DateTime fileLastModifiedDate = Conversions.ToDate(colFilesFound[rw["file_path"]]);
DateTime dataLastModifiedDate = Conversions.ToDate(rw["last_modified_timestamp"]);
if (Math.Abs((fileLastModifiedDate - dataLastModifiedDate).TotalSeconds) == 0L)
{
Console.WriteLine("File Date: " + colFilesFound[rw["file_path"]] +
" <> Database Date: " + Conversions.ToString(rw["last_modified_timestamp"]));
unchangedFileNum++;
Console.WriteLine("unchange");
}
else
{
modifiedFileNum++;
Console.WriteLine("change");
}
Что такое Conversions.ToDate? Это не поможет, что вы не предоставили нам никаких выборочных данных, и ваш код без необходимости использует другой код. Пожалуйста, отправьте короткую, но * полную * программу, демонстрирующую проблему. –
Почему вы просто не используете оператор '==' для проверки равенства? – ken2k
Не могли бы вы сравнить «Ticks» или слишком гранулированный? – Yuck