C#에서 두 날짜의 차이를 계산하는 방법

Puneet Dobhal 2023년10월12일
  1. - 연산자를 사용하여 C#에서 두 날짜 간의 차이 계산
  2. DateTime.Substract 방법을 사용하여 C#에서 두 날짜 간의 차이 계산
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 메소드가 확실한 선택이됩니다.

관련 문장 - Csharp DateTime