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

C#에서 DateTime.TryParseExact로 날짜 형식 유효성 검사하는 방법

C#에서 날짜 형식의 유효성을 검사할 때는 DateTime.TryParseExact 메서드를 사용하는 것이 가장 간편하고 안정적인 방법입니다. 정규식(Regex)으로 패턴을 일일이 작성하는 대신, 이 메서드 하나만으로 날짜 형식이 올바른지 손쉽게 확인할 수 있습니다.

DateTime.TryParseExact는 지정된 날짜 및 시간 문자열을 미리 정의한 형식과 비교하여 그에 해당하는 DateTime 값으로 변환해 줍니다. 변환에 성공하면 true를 반환하고, 입력된 날짜 형식이 올바르지 않으면 false를 반환하므로 형식 검증에 매우 유용합니다.

주요 매개변수

  • 첫 번째 인자: 유효성을 검사할 날짜 문자열
  • 두 번째 인자: 기대하는 날짜 형식 (예: MM/dd/yyyy)
  • 세 번째 인자: 문화권 정보 (CultureInfo.InvariantCulture 등)
  • 네 번째 인자: DateTimeStyles 옵션
  • out 매개변수: 변환 결과가 담길 DateTime 변수

예제

아래 예제에서는 "08/14/2018"이라는 문자열이 "MM/dd/yyyy" 형식에 맞는지 검사합니다.

using System;
using System.Globalization;

namespace Demo {
    class Program {
        static void Main(string[] args) {
            DateTime d;

            bool chValidity = DateTime.TryParseExact(
                "08/14/2018",
                "MM/dd/yyyy",
                CultureInfo.InvariantCulture,
                DateTimeStyles.None,
                out d);

            Console.WriteLine(chValidity);
        }
    }
}

실행 결과

입력된 문자열이 지정한 형식과 일치하므로 아래와 같이 true가 출력됩니다.

True

만약 날짜 문자열이 "MM/dd/yyyy" 형식과 다르게 입력되었다면 false가 반환되므로, 이 값을 조건문에 활용해 잘못된 날짜 입력을 사전에 걸러낼 수 있습니다.