답변:
가정 dateTime1하고 값은 다음 과 dateTime2같습니다 DateTime.
var diffInSeconds = (dateTime1 - dateTime2).TotalSeconds;
귀하의 경우 DateTime.Now에는 값 중 하나로 사용 하고 목록의 시간을 다른 것으로 사용합니다. dateTime1이보다 이전 이면 결과가 음수 일 수 있으므로 순서에주의하십시오 dateTime2.
DateTime에는 이러한 경우에 Subtract 메서드 와 오버로드 된 -연산자 가 있습니다.
DateTime now = DateTime.UtcNow;
TimeSpan difference = now.Subtract(otherTime); // could also write `now - otherTime`
if (difference.TotalSeconds > 5) { ... }
음의 간격을 피하기 위해 이것을 사용합니다.
var seconds = (date1< date2)? (date2- date1).TotalSeconds: (date1 - date2).TotalSeconds;
Math.Abs대신 사용하십시오 .이 코드는 위의 답변을 사용하는 것보다 읽기 쉽고 성능이 떨어집니다.