Учитывая, что ваши дата / время рассчитаны, вам лучше рассчитать разницу между временем, которое дает вам TimeSpan
.
TimeSpan travelTime = arrival - departure;
Затем вы можете проверить, что это меньше вашего допустимого отклонения.
if (Math.Abs(travelTime.TotalMilliseconds) < tolerance)
{
// times are equal.
}
Это похоже на подход, который вы должны использовать для значений с плавающей запятой, но не зависит от этого, так как в этом случае неточность связана с вашими данными, а не с тем, как они представлены в памяти.