我需要比較兩個日期,包括秒。我在網上搜索了兩種方法。一個是進口Microsoft.VisualBasic dll
。運行相同數據時結果不一樣。我認爲C#應該在不導入VisualBasic的情況下做同樣的事情。有人可以指點我,讓它在C#中工作嗎?比較日期時間得到不同的結果
在此先感謝。
有一個使用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?你沒有給我們任何樣本數據並沒有幫助,你的代碼不必要地使用其他代碼。請發佈簡短但完整的*程序來證明問題。 – 2013-03-27 17:32:08
爲什麼不使用'=='運算符來測試是否相等? – ken2k 2013-03-27 17:32:44
你可以比較'Ticks'還是那個粒度? – Yuck 2013-03-27 17:34:54