Проверяется, не будет ли Math.Abs(diff.TotalMinutes) == 0
, нет - это проверка, являются ли они точно тем же.
Вы пытаетесь проверить, имеют ли они одну и ту же минуту, или они меньше минуты? Для первого, использования:
where RoundToMinute(dateTime1) == RoundToMinute(dateTime2)
, заявив:
public static DateTime RoundToMinute(DateTime time)
{
return new DateTime(time.Year, time.Month, time.Day,
time.Hour, time.Minute, 0, time.Kind);
}
Для второго, использования:
where Math.Abs((dateTime1 - dateTime2).TotalMinutes) < 1
Вы должны рассмотреть то, что вы хотите, чтобы результат в том случае, один из них является локальным, а один - в UTC, кстати ...
Обратите внимание, что здесь нет ничего конкретного LINQ - если вы используя LINQ to Objects. Если вы используете LINQ to SQL, то, очевидно, вы не можете использовать локальные методы, и нам придется снова искать ...
EDIT: Я все еще очень неясен в вашем вопросе. Если вам нужно, чтобы быть точно ту же дату/время, это легко (оставляя в стороне возможный местный против вопроса UTC):
where dateTime1 == dateTime2
Однако, что возникает вопрос о том, почему вы упоминаете «минута точности» в название вопроса или «использование до мельчайшей точности» в теле вопроса. .
Я бы взял этот фрагмент и разместил его в качестве ответа на ваш вопрос, чтобы люди могли прокомментировать/проголосовать вверх или вниз по нему отдельно от вашего вопроса –