본문 바로가기

Windows/WindowsForm

[ Windows Form ] 문자 형태의 날짜를 DateTime으로 변환 하기

반응형

C#에서 "20250101" 형태의 문자열을 DateTime으로 변환하여 날짜를 설정하려면 DateTime.ParseExact 또는 DateTime.TryParseExact 메서드를 사용할 수 있습니다. 이 메서드는 문자열의 형식이 고정되어 있을 때 유용합니다.

예제 코드

using System;

class Program
{
    static void Main()
    {
        // 날짜 문자열
        string dateString = "20250101";

        // 문자열을 DateTime으로 변환
        DateTime date = DateTime.ParseExact(dateString, "yyyyMMdd", null);

        // 변환된 날짜 출력
        Console.WriteLine($"변환된 날짜: {date.ToString("yyyy-MM-dd")}");
    }
}

설명

  1. ParseExact 메서드:
    • 첫 번째 매개변수: 변환하려는 문자열 (dateString).
    • 두 번째 매개변수: 문자열의 형식 ("yyyyMMdd").
    • 세 번째 매개변수: IFormatProvider로, null을 전달하면 현재 문화권의 기본 설정을 사용합니다.
  2. 결과:
    • "20250101" 문자열은 2025년 1월 1일로 변환됩니다.

예외 처리

ParseExact 메서드는 변환 실패 시 예외를 던지므로, 안전하게 처리하려면 TryParseExact를 사용하는 것이 좋습니다.

using System;

class Program
{
    static void Main()
    {
        // 날짜 문자열
        string dateString = "20250101";

        // 문자열을 DateTime으로 변환 시도
        if (DateTime.TryParseExact(dateString, "yyyyMMdd", null, System.Globalization.DateTimeStyles.None, out DateTime date))
        {
            // 변환 성공
            Console.WriteLine($"변환된 날짜: {date.ToString("yyyy-MM-dd")}");
        }
        else
        {
            // 변환 실패
            Console.WriteLine("날짜 변환에 실패했습니다.");
        }
    }
}

이 코드는 변환 실패 시 예외 대신 false를 반환하여 안전하게 처리할 수 있습니다.


주요 포인트

  • yyyyMMdd는 날짜 형식의 패턴으로 년(4자리), 월(2자리), 일(2자리)을 나타냅니다.
  • ParseExact는 고정된 형식의 문자열을 변환할 때 적합합니다.
  • 변환 실패를 방지하려면 TryParseExact를 사용하는 것이 더 안전합니다.
반응형