Comprobar si Math.Abs(diff.TotalMinutes) == 0
no lo hará, no - eso es comprobar si son exactamente lo mismo.
¿Está tratando de verificar si tienen el mismo minuto o si están a menos de un minuto de distancia? Para la primera, el uso:
where RoundToMinute(dateTime1) == RoundToMinute(dateTime2)
haber declarado:
public static DateTime RoundToMinute(DateTime time)
{
return new DateTime(time.Year, time.Month, time.Day,
time.Hour, time.Minute, 0, time.Kind);
}
para el segundo, el uso:
where Math.Abs((dateTime1 - dateTime2).TotalMinutes) < 1
usted debe considerar lo que desea que el resultado sea en el caso de que uno es local y uno está en UTC, por cierto ...
Tenga en cuenta que aquí no hay nada específico de LINQ, suponiendo que esté usando LINQ to Objects. Si está utilizando LINQ to SQL, entonces obviamente no puede usar métodos locales, y tendremos que volver a mirar ...
EDIT: Todavía no estoy muy claro sobre su pregunta. Si se necesita que sean exactamente la misma fecha/hora, es fácil (dejando a un lado la posible locales vs tema UTC):
where dateTime1 == dateTime2
Sin embargo, esto plantea la pregunta de por qué usted menciona "un minuto de precisión" en el título de la pregunta o "usar precisión de hasta un minuto" en el cuerpo de la pregunta. .
Me gustaría tomar ese fragmento y publicarlo como respuesta a su pregunta, de esa manera la gente puede comentar/votar hacia arriba o hacia abajo en su pregunta –