Compare the time values using the DateTime.Date property: it removes any time component.
By the way: that's a pretty poor way to store information. You would be much better off creating a class to hold the data and writing a comparer for the class.
public class MyData
{
public bool YesOrNo { get; set; }
public bool NoOrYes { get; set; }
public DateTime Date { get; set; }
public string ExtraData { get; set; }
}
using an array to hold different datatypes is a good way to introduce bugs and problems to you code (and complicate the usage of the data as well)