Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#으로 두 날짜 사이의 시간 차이 계산하기

C#에서 두 날짜 사이의 시간 차이를 구하려면 DateTime 객체와 TimeSpan 구조체를 활용하면 됩니다. 두 DateTime 값을 서로 빼면 그 결과로 TimeSpan 객체가 반환되며, 이를 통해 일, 시간, 분 등 다양한 단위의 차이를 손쉽게 확인할 수 있습니다.

두 날짜 설정하기

먼저 비교할 두 개의 날짜를 설정합니다.

DateTime date1 = new DateTime(2018, 7, 15, 08, 15, 20);
DateTime date2 = new DateTime(2018, 8, 17, 11, 14, 25);

날짜 차이 계산하기

두 날짜를 빼면 그 차이가 담긴 TimeSpan 객체가 생성됩니다.

TimeSpan ts = date2 - date1;

이제 시간 단위의 차이를 구해 보겠습니다. TotalHours 속성을 사용하면 전체 시간 차이를 확인할 수 있습니다.

ts.TotalHours

전체 예제 코드

using System;
using System.Linq;

public class Demo {
   public static void Main() {
      DateTime date1 = new DateTime(2018, 7, 15, 08, 15, 20);
      DateTime date2 = new DateTime(2018, 8, 17, 11, 14, 25);
      TimeSpan ts = date2 - date1;
      Console.WriteLine("No. of Hours (Difference) = {0}", ts.TotalHours);
   }
}

실행 결과

No. of Hours (Difference) = 794.984722222222

참고 사항

TotalHours는 전체 시간 차이를 소수점까지 포함한 double 타입으로 반환합니다. 정수 부분만 필요하다면 (int)ts.TotalHours처럼 캐스팅하거나 Math.Floor() 메서드를 활용할 수 있습니다. 또한 ts.Hours 속성은 전체 차이 중 일(day) 단위를 제외한 나머지 시간만 반환한다는 점에 유의하세요. 예를 들어 33시간 차이일 때 Hours는 9를 반환하고, TotalHours는 33을 반환합니다.