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

C# DateTime 클래스 완벽 정리: 날짜 생성부터 현재 시간 조회, 날짜 계산까지

C#에서 날짜를 다룰 때는 DateTime 클래스를 사용합니다. DateTime이 표현할 수 있는 값의 범위는 서기 0001년 1월 1일 자정(오전 12:00:00)부터 서기 9999년 12월 31일 오후 11:59:59까지입니다.

그럼 지금부터 DateTime 객체를 만들고 활용하는 방법을 예제와 함께 살펴보겠습니다.

DateTime 객체 생성하기

DateTime 구조체의 생성자에 연도, 월, 일을 순서대로 전달하면 원하는 날짜를 가진 객체를 만들 수 있습니다.

예제

using System;
class Test {
    static void Main() {
        DateTime dt = new DateTime(2018, 7, 24);
        Console.WriteLine(dt.ToString());
    }
}

실행 결과

7/24/2018 12:00:00 AM

날짜만 지정했기 때문에 시간은 기본값인 오전 12시(자정)로 설정된 것을 확인할 수 있습니다.

현재 날짜와 시간 가져오기

현재 시스템의 날짜와 시간이 필요하다면 DateTime.Now 속성을 사용하면 됩니다.

예제

using System;
class Test {
    static void Main() {
        Console.WriteLine(DateTime.Now.ToString());
    }
}

실행 결과

9/17/2018 5:49:21 AM

DateTime.Now는 코드가 실행되는 순간의 현재 날짜와 시간을 반환합니다.

AddDays() 메서드로 날짜 더하기

DateTime 구조체에서는 AddDays(), AddMonths(), AddYears() 등 다양한 Add 계열 메서드를 제공합니다. 그중 AddDays() 메서드를 사용하면 특정 날짜에 원하는 일수를 더한 새로운 날짜를 얻을 수 있습니다.

예제

using System;
class Test {
    static void Main() {
        DateTime dt1 = new DateTime(2018, 7, 23, 08, 20, 10);
        Console.WriteLine("Old Date: " + dt1.ToString());
        DateTime dt2 = dt1.AddDays(7);
        Console.WriteLine("New Date: " + dt2.ToString());
    }
}

실행 결과

Old Date: 7/23/2018 8:20:10 AM
New Date: 7/30/2018 8:20:10 AM

위 예제에서는 2018년 7월 23일 오전 8시 20분 10초로 생성한 날짜에 7일을 더해 7월 30일 같은 시각의 새로운 날짜를 얻었습니다.

참고 사항

DateTime은 불변(immutable) 구조체이므로 AddDays() 같은 메서드를 호출해도 원본 값은 변경되지 않으며, 항상 새로운 DateTime 객체가 반환됩니다. 따라서 결과를 반드시 변수에 할당해서 사용해야 한다는 점을 기억하세요.