C#에서 두 날짜 사이의 시간 차이를 분 단위로 계산하려면 DateTime 객체끼리 빼기 연산을 수행하여 TimeSpan 객체를 얻은 뒤, TotalMinutes 속성을 사용하면 됩니다. 아래에서 단계별로 자세히 살펴보겠습니다.
1단계: 두 개의 날짜 설정하기
먼저 비교할 두 개의 DateTime 객체를 생성합니다.
DateTime date1 = new DateTime(2018, 7, 15, 08, 15, 20); DateTime date2 = new DateTime(2018, 8, 17, 11, 14, 25);
2단계: 두 날짜의 차이 계산하기
두 DateTime 객체를 빼면 그 결과로 TimeSpan 객체가 반환됩니다. TimeSpan은 두 시점 사이의 시간 간격을 나타냅니다.
TimeSpan ts = date2 - date1;
3단계: 분 단위로 변환하기
TimeSpan 객체의 TotalMinutes 속성을 사용하면 두 날짜 사이의 전체 시간을 분 단위(double 형식)로 구할 수 있습니다.
ts.TotalMinutes
TotalMinutes는 정수가 아닌 소수점까지 포함한 값(예: 33분 30초 → 33.5)을 반환한다는 점에 유의하세요. 만약 정수 부분만 필요하다면 (int)ts.TotalMinutes처럼 캐스팅하거나 Math.Floor() 메서드를 활용할 수 있습니다.
전체 예제 코드
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 Minutes (Difference) = {0}", ts.TotalMinutes);
}
}실행 결과
No. of Minutes (Difference) = 47699.0833333333
위 예제에서 2018년 7월 15일 08시 15분 20초부터 2018년 8월 17일 11시 14분 25초까지의 차이는 약 47,699분입니다. 이 방법은 로그 분석, 기간 계산, 스케줄링 등 다양한 상황에서 유용하게 활용할 수 있습니다.