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

C# DateTime.Add() 메서드 완벽 가이드 – TimeSpan으로 날짜 더하고 빼기

C#의 DateTime.Add() 메서드는 현재 DateTime 인스턴스에 지정된 TimeSpan 값을 더한 결과로 새로운 DateTime 객체를 반환합니다. 이 메서드는 원본 DateTime 객체를 변경하지 않고 항상 새로운 객체를 생성해 반환한다는 점이 특징입니다.

구문

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

public DateTime Add(TimeSpan val);

매개변수: val은 더할 시간 간격(TimeSpan)을 나타내며, 양수 또는 음수 값을 가질 수 있습니다. 양수를 전달하면 미래 날짜가, 음수를 전달하면 과거 날짜가 계산됩니다.

예제 1: TimeSpan으로 날짜 더하기

다음 예제는 DateTime.Add() 메서드를 사용해 115일을 더하는 방법을 보여줍니다.

using System;
public class Demo {
    public static void Main() {
        DateTime d1 = new DateTime(2019, 3, 7, 8, 0, 15);
        TimeSpan span = new TimeSpan(115, 0, 0, 0);
        DateTime d2 = d1.Add(span);
        System.Console.WriteLine("Initial DateTime = {0:y} {0:dd}", d1);
        System.Console.WriteLine("\nNew DateTime = {0:y} {0:dd}", d2);
    }
}

출력 결과

Initial DateTime = March 2019 07
New DateTime = June 2019 30

실행 결과에서 볼 수 있듯이, 2019년 3월 7일에 115일을 더하면 2019년 6월 30일이 됩니다.

예제 2: 음수 TimeSpan으로 날짜 빼기

음수 TimeSpan 값을 전달하면 지정한 기간만큼 날짜를 뺄 수도 있습니다. 다음 예제에서는 75일을 빼는 방법을 살펴봅니다.

using System;
public class Demo {
    public static void Main() {
        DateTime d1 = new DateTime(2019, 9, 7, 8, 0, 15);
        // 75일 빼기
        TimeSpan span = new TimeSpan(-75, 0, 0, 0);
        DateTime d2 = d1.Add(span);
        System.Console.WriteLine("Initial DateTime = {0:y} {0:dd}", d1);
        System.Console.WriteLine("\nNew DateTime = {0:y} {0:dd}", d2);
    }
}

출력 결과

Initial DateTime = September 2019 07
New DateTime = June 2019 24

2019년 9월 7일에서 75일을 빼면 2019년 6월 24일이 됩니다.

참고 사항

DateTime.Add() 메서드는 일 단위뿐만 아니라 시, 분, 초, 밀리초 단위의 TimeSpan도 처리할 수 있습니다. 다만 계산 결과가 DateTime.MinValue 또는 DateTime.MaxValue 범위를 벗어나면 ArgumentOutOfRangeException이 발생하므로 주의해야 합니다.