C#에서 두 날짜의 차이를 계산하는 방법
이 기사에서는 C#에서 두 날짜의 차이를 계산하는 다양한 방법을 살펴 봅니다. Date와 TimeSpan 구조를 표현하기 위해 DateTime 구조를 사용하여 결과를 저장합니다.
DateTime
생성자를 사용하여 날짜를 지정하여 다음과 같은 날짜 정의를 사용합니다.
DateTime sample_date = new DateTime(2010, 6, 14);
아시다시피, 선언의 날짜 요소에는 연도, 월 및 일이 포함됩니다.
이제 이틀 간의 차이를 일 수로 계산하는 다양한 방법을 살펴 보겠습니다.
-
연산자를 사용하여 C#에서 두 날짜 간의 차이 계산
가장 간단한 해결책은-
연산자를 사용하여 두 날짜를 빼는 것입니다. 객체는 DateTime
과 동일한 데이터 타입이므로 직접 빼기 할 수 있습니다. 다음 코드는이 방법을 보여줍니다.
using System;
public class Sample {
public static void Main() {
DateTime date_1 = new DateTime(2019, 02, 12);
DateTime date_2 = new DateTime(2020, 04, 10);
/*Substraction (minus) of same data types yields difference in days*/
Console.WriteLine("Difference in days: " + (date_2 - date_1).Days);
}
}
출력:
Difference in days: 423
DateTime.Substract
방법을 사용하여 C#에서 두 날짜 간의 차이 계산
DateTime.Subtract
메소드는이를 달성하는 또 다른 효율적인 방법입니다. 두 날짜의 차이를 반환하며 결과는 TimeSpan
데이터 형식으로 저장할 수 있습니다.
using System;
public class Sample {
public static void Main() {
DateTime date_1 = new DateTime(2019, 02, 12);
DateTime date_2 = new DateTime(2020, 04, 10);
TimeSpan Diff_dates = date_2.Subtract(date_1);
Console.WriteLine("Difference in days: " + Diff_dates.Days);
}
}
출력:
Difference in days: 423
DateTime
구조를 사용하여 날짜와 함께 시간을 지정할 수도 있습니다. 이 경우DateTime.Subtract
메소드를 사용하는 동안 날짜가 동일한 시간대인지 확인하십시오. 그렇지 않으면 시간대 간의 차이가 결과에 포함됩니다.
또한 TimeSpan
클래스의 이중 속성 집합을 사용하여 필요한 경우 더 많은 정보를 추출 할 수도 있습니다. 아래 샘플 코드 에서처럼, 우리는Total
접두사-TotalDays
를 사용하여 소수 값으로 결과를 얻었습니다.
using System;
public class Sample {
public static void Main() {
/*Definations include time of day */
DateTime date_1 = new DateTime(2019, 02, 12, 8, 0, 0);
DateTime date_2 = new DateTime(2020, 04, 10, 12, 0, 0);
TimeSpan Diff_dates = date_2.Subtract(date_1);
Console.WriteLine("Difference in Days = " + Diff_dates.Days);
Console.WriteLine("Exact timespan in Days = " + Diff_dates.TotalDays);
}
}
출력:
Difference in Days = 423
Exact timespan in Days = 423.166666666667
사용법에 적합한 방법을 마무리하는 동안-
연산자 방법은 시간대 요소를 고려하지 않습니다. 따라서 사용하는 날짜가 시간대를 지정하면DateTime.Subtract
메소드가 확실한 선택이됩니다.