比较基于日期时间到分钟的两个文件?

时间:2010-12-13 11:23:03

标签: c# linq

我需要比较两个文件,根据日期时间到分钟,在比较时消除秒数。

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();
            }
        }

2 个答案:

答案 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