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

C# DateTime.AddHours() 메서드 사용법 완벽 정리

C#에서 DateTime.AddHours() 메서드는 현재 DateTime 인스턴스에 지정한 시간(시)을 더한 새로운 DateTime 객체를 반환하는 메서드입니다. 중요한 점은 기존 DateTime 값 자체는 변경되지 않고, 항상 새로운 DateTime 인스턴스가 생성된다는 것입니다.

구문(Syntax)

DateTime.AddHours() 메서드의 기본 구문은 다음과 같습니다.

public DateTime AddHours (double hrs);

여기서 hrs 매개변수는 더할 시간을 의미합니다. 이 값은 double 형식이므로 소수 단위의 시간도 지정할 수 있으며, 음수 값을 전달하면 시간을 뺄 수도 있습니다.

예제 1: 시간 더하기

다음 예제를 통해 DateTime.AddHours() 메서드의 기본적인 사용 방법을 살펴보겠습니다.

using System;
public class Demo {
   public static void Main(){
      DateTime d1 = new DateTime(2019, 11, 2, 9, 0, 10);
      DateTime d2 = d1.AddHours(2);
      System.Console.WriteLine("Initial DateTime = {0:dd} {0:y}, {0:t} ", d1);
      System.Console.WriteLine("
New DateTime (After adding hours) = {0:dd} {0:y}, {0:t} ", d2);
   }
}

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Initial DateTime = 02 November 2019, 9:00 AM
New DateTime (After adding hours) = 02 November 2019, 11:00 AM

위 예제에서 볼 수 있듯이 오전 9시에 2시간을 더해 오전 11시로 변경된 새로운 DateTime이 반환되었습니다.

예제 2: 시간 빼기

AddHours() 메서드에 음수 값을 전달하면 시간을 뺄 수도 있습니다. 다음 예제를 확인해 보겠습니다.

using System;
public class Demo {
   public static void Main(){
      DateTime d1 = new DateTime(2019, 10, 5, 9, 0, 10);
      DateTime d2 = d1.AddHours(-5);
      System.Console.WriteLine("Initial DateTime = {0:dd} {0:y}, {0:t} ", d1);
      System.Console.WriteLine("
New DateTime (After subtracting hours) = {0:dd} {0:y}, {0:t} ", d2);
   }
}

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Initial DateTime = 05 October 2019, 9:00 AM
New DateTime (After subtracting hours) = 05 October 2019, 4:00 AM

정리

DateTime.AddHours() 메서드는 날짜와 시간 계산 시 매우 유용하게 활용됩니다. 참고로 DateTime 구조체는 불변(immutable)이므로 AddHours() 호출 후 반드시 반환값을 변수에 할당해야 하며, 필요에 따라 AddMinutes(), AddDays() 등의 유사한 메서드들도 함께 활용할 수 있습니다.