두 개의 datetimes가 있습니다. 하나는 타임 스탬프에서, 다른 하나는 코드에서 생성하고 있습니다. 나는 그들의 평등을 시험 할 필요가 있고, 너무 많은 표현없이 그것을하고 싶다. 그들이 경우C#에서 두 DateTime의 동등성을 비교하는 가장 좋은 방법은 무엇입니까?
이 (expireTimeStampUTC.Equals (expectedExpireTime)) {}내가
상관하지 않는 경우 :
DateTime expireTimeStampUTC =
DateTime.Parse(UTCValueFromDatabase));
DateTime expectedExpireTime =
DateTime.UtcNow.AddHours(NumberOfExpectedHoursInConfig);
이 테스트의 너무 높은 정밀도는 : 여기 내 두 날짜의 예 두 번째 시간, 정확히 시간. 나는 대부분의 C#을 경험하고 있지 않다
if (expireTimeStampUTC.Date.Equals(expectedExpireTime.Date))
{
if (!expireTimeStampUTC.Hour.Equals(expectedExpireTime.Hour))
{
pass = false;
}
}
...이 작업을 수행하는 몇 가지 elegent 방법이 :
아마도 이런 식 화합물을 할 수있는 최선의 해결책이 될 수 있을까?
실제로 이것은 실제로 더 좋은 스타일이라고 생각합니다. 나는 그것이 무엇이 일어나고 있는지 명확하게 생각한다. 이전에 "정답"토큰을 변경 한 적이 없지만,이 경우 더 나은 해결책이라고 생각합니다. – danieltalsky
충분합니다. 내 생각 엔 6 대 1/6 다. "Duration()"구문은 더 읽기 쉽지만 비교할 때 TimeSpan을 새로 작성하는 데 드는 오버 헤드가 (무시할 정도로) 있습니다. –