-
[C#] DateTime 날짜 계산하는 법 / 두 시간 차이 계산하는 법 / 두 날짜 기간 계산하는 법[프로그램]/IT 이야기 2022. 1. 7. 08:50728x90
이 전 시간에는
DateTime 형식을 String 형식으로 변환하거나
String 형식을 DateTime 형식으로 변환하는 법을 알아봤습니다.
이번에는 이제 두 날짜의 차이를 계산하는 법을 알아볼까요!
방식은 이렇습니다.
시간2(DateTime 형) - 시간1(DateTime 형) = 차이(TimeSpan 형)
코드로 확인해보면
DateTime dt1 = DateTime.Parse("2022-01-04 09:00:00"); // 시간1 DateTime dt2 = DateTime.Parse("2022-01-05 09:00:00"); // 시간2 TimeSpan ts = dt2 - dt1; // 차이 계산 Console.WriteLine( ts.Days ); // 결과 출력 // 1 ts = DateTime.Parse("2022-01-05 09:00:00") - DateTime.Parse("2022-01-03 09:00:00"); // 차이 계산 Console.WriteLine( ts.Days ); // 결과 출력 // 2
간단하죠?
TimeSpan으로 선언된 함수에서 날짜 차이는 Days, 시간은 Hours를 이용하면 됩니다.
시간 차이도 계산해볼까요?
// 시간 차이 ts = DateTime.Parse("2022-01-05 09:00:00") - DateTime.Parse("2022-01-05 07:00:00"); // 차이 계산 Console.WriteLine(ts.Hours); // 결과 출력 // 2 // 날짜와 시간 차이 ts = DateTime.Parse("2022-01-05 09:00:00") - DateTime.Parse("2022-01-04 07:00:00"); // 차이 계산 Console.WriteLine("{0}일 {1}시간", ts.Days, ts.Hours); // 결과 출력 // 1일 2시간
주의할 점은
각 날짜별, 시간별, 분별 차이 값이 따로 저장되어있다는 것이에요
예를 들어 1일 2시간이 경과했다고 Hours에 26(24시간 + 2시간)이 저장되는 것이 아니에요
Days에 1, Hours에는 2가 저장돼요!!
오늘은 간단하게 두 날짜의 차이를 구하는 방법을 알아봤으니
다음에는 시간을 더하고 빼서
기념일을 계산하는 방법을 알아볼게요!!
728x90