0Pricing
C# Academy · 강의

날짜 연산

날짜를 더하고 빼고 비교해 보세요.

날짜 연산은(는) CoddyKit의 무료 C# Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 C# Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. C# Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

날짜로 계산하기

DateTime 값은 변경할 수 없습니다. 계산을 해도 원본은 바뀌지 않습니다. 대신 모든 연산은 완전히 새로운 DateTime을 반환합니다.

이 단원에서는 시간을 더하고 빼는 방법, 날짜를 비교하는 방법, 이벤트까지 며칠 남았는지와 같은 질문에 답하는 방법을 다룹니다.

AddDays

AddDays 메서드는 지정한 일수만큼 뒤의 날짜를 반환합니다. 과거로 이동하려면 음수를 전달합니다.

DateTime은 변경할 수 없으므로 반환된 값을 사용해야 하며, 원본은 바뀌지 않습니다.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5);
        DateTime later = d.AddDays(10);
        Console.WriteLine(later.ToString("yyyy-MM-dd"));
    }
}

Add 계열

각 단위마다 Add 메서드가 있습니다: AddHours, AddMinutes, AddSeconds, AddMonths, AddYears입니다.

모두 양수와 음수를 받을 수 있으므로 하나의 메서드 집합으로 미래와 과거를 모두 처리할 수 있습니다.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5, 9, 0, 0);
        Console.WriteLine(d.AddHours(5).Hour);
    }
}

AddMonths의 날짜 넘침 처리

AddMonths는 월별 날짜 수를 고려합니다. 1월 31일에 한 달을 더하면 유효하지 않은 날짜가 아니라 2월 28일 또는 29일이 됩니다.

따라서 각 월의 일수를 직접 확인할 필요가 없습니다.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 1, 31);
        Console.WriteLine(d.AddMonths(1).ToString("yyyy-MM-dd"));
    }
}

과거로 이동하기

과거로 이동하려면 음수 인수를 전달합니다. AddDays(-7)은 일주일 전 날짜를 반환합니다.

일을 빼는 별도의 메서드는 없습니다. 음수 값으로 깔끔하게 처리할 수 있습니다.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5);
        Console.WriteLine(d.AddDays(-7).ToString("yyyy-MM-dd"));
    }
}

TimeSpan 더하기

+ 연산자나 Add 메서드를 사용해 TimeSpan을 DateTime에 직접 더할 수 있습니다.

이미 기간을 가지고 있고 날짜를 그만큼 이동하려 할 때 편리합니다.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5, 9, 0, 0);
        DateTime later = d + TimeSpan.FromHours(3);
        Console.WriteLine(later.Hour);
    }
}

날짜 사이의 차이

한 날짜에서 다른 날짜를 빼면 두 날짜 사이의 간격을 나타내는 TimeSpan이 생성됩니다.

두 날짜가 서로 다른 월이나 연도에 걸쳐 있어도 TotalDays를 읽어 날짜 수를 계산할 수 있습니다.

using System;

class Program
{
    static void Main()
    {
        DateTime start = new DateTime(2024, 1, 1);
        DateTime end = new DateTime(2024, 3, 1);
        Console.WriteLine((end - start).TotalDays);
    }
}

이벤트까지 남은 일수

흔히 하는 작업 중 하나는 미래의 날짜까지 며칠 남았는지 계산하는 것입니다. 목표 날짜에서 오늘을 빼고 TotalDays 또는 Days를 읽으면 됩니다.

여기서는 학습 중 출력 결과를 예측할 수 있도록 고정된 날짜를 사용합니다.

using System;

class Program
{
    static void Main()
    {
        DateTime today = new DateTime(2024, 3, 1);
        DateTime party = new DateTime(2024, 3, 15);
        Console.WriteLine((party - today).Days);
    }
}

날짜 비교

DateTime 값은 <, >, ==를 사용해 비교할 수 있습니다. 더 이른 날짜는 더 늦은 날짜보다 작습니다.

공식적인 비교 결과가 필요할 때는 CompareTo와 Equals 같은 메서드도 사용할 수 있습니다.

using System;

class Program
{
    static void Main()
    {
        DateTime a = new DateTime(2024, 1, 1);
        DateTime b = new DateTime(2024, 6, 1);
        Console.WriteLine(a < b);
    }
}

윤년과 월의 일수

두 정적 도우미로 달력과 관련된 질문에 답할 수 있습니다. DateTime.IsLeapYear(year)는 윤년이면 참을 반환합니다.

DateTime.DaysInMonth(year, month)은 지정한 월의 일수를 알려 주며, 2월도 올바르게 처리합니다.

using System;

class Program
{
    static void Main()
    {
        Console.WriteLine(DateTime.IsLeapYear(2024));
        Console.WriteLine(DateTime.DaysInMonth(2024, 2));
    }
}

하루의 시작과 끝

하루의 시작을 얻으려면 Date 속성을 사용합니다. 이 속성은 시간 부분을 제거하여 자정으로 설정합니다.

하루의 마지막 순간을 얻으려면 하루를 더한 뒤 틱 하나를 빼거나 23:59:59를 더합니다. Date 속성이 가장 간단한 기본 구성 요소입니다.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5, 14, 30, 0);
        Console.WriteLine(d.Date.ToString("yyyy-MM-dd HH:mm"));
    }
}

빠른 확인

2024년 1월 31일로 시작해 AddMonths(1)을 호출합니다. 어떤 날짜를 얻습니까?

복습

DateTime 계산은 새로운 값을 반환합니다. AddDays, AddMonths 등을 사용해 날짜를 이동하고, 음수를 사용해 과거로 이동할 수 있습니다.

날짜를 빼서 TimeSpan을 얻고, 연산자로 비교하며, 달력 관련 작업에는 IsLeapYear, DaysInMonth, Date를 사용합니다.

자주 묻는 질문

“날짜 연산” 강의는 무료인가요?

네 — “날짜 연산” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 C# Academy 강의 전체를 잠금 해제할 수 있습니다. C# Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“날짜 연산”에서 뭘 배우나요?

날짜를 더하고 빼고 비교해 보세요. 브라우저에서 직접 실행하는 실습 코드로 C# Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

C# Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 C# Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“날짜 연산” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 C# Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 C# Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. DateTimes 만들기
  2. 날짜 형식 지정
  3. TimeSpan과 기간
  4. 날짜 연산
← C# Academy(으)로 돌아가기