我需要比较两个文件,根据日期时间到分钟,在比较时消除秒数。
public class FileCompareLastwritetime : System.Collections.Generic.IEqualityComparer<System.IO.FileInfo>
{
public FileCompareLastwritetime() { }
public bool Equals(System.IO.FileInfo f1, System.IO.FileInfo f2)
{
return f1.LastWriteTime == f2.LastWriteTime;
}
public int GetHashCode(System.IO.FileInfo fi)
{
string s = String.Format("{0}", fi.LastWriteTime);
return s.GetHashCode();
}
}
答案 0 :(得分:4)
怎么样:
public class FileCompareLastwritetime
: System.Collections.Generic.IEqualityComparer<System.IO.FileInfo> {
public FileCompareLastwritetime() { }
public bool Equals(System.IO.FileInfo f1, System.IO.FileInfo f2) {
return ToMinute(f1.LastWriteTime) == ToMinute(f2.LastWriteTime);
}
public int GetHashCode(System.IO.FileInfo fi) {
return ToMinute(fi.LastWriteTime).GetHashCode();
}
static DateTime ToMinute(DateTime value) {
return new DateTime(value.Year, value.Month, value.Day,
value.Hour, value.Minute, 0, value.Kind);
}
}
答案 1 :(得分:2)
Math.Abs(time1.Subtract(time2).TotalMinutes) < 1