bala3569
bala3569

Reputation: 11010

compare two files based on datetime upto minute?

I need to compare two files based on datetime upto minute by eliminating seconds while comparing...

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

Upvotes: 1

Views: 1642

Answers (2)

Saeed Amiri
Saeed Amiri

Reputation: 22565

Math.Abs(time1.Subtract(time2).TotalMinutes) < 1

Upvotes: 2

Marc Gravell
Marc Gravell

Reputation: 1063619

How about:

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

Upvotes: 4

Related Questions