HOWTO · Csharp

C#에서 문자열을 날짜/시간으로 변환

이 가이드에서는 C#에서 문자열을 날짜/시간으로 변환하는 방법을 배웁니다.

이 가이드는 C#에서 문자열을 날짜/시간으로 변환하는 방법을 알려줍니다. 문자열을 특정 형식의 날짜/시간으로 변환할 수도 있습니다(예: yyyy-mm-dd hh mm ss).

이것을 이해하려면 CultureInfo에 익숙해져야 합니다. 이 가이드를 자세히 살펴보고 이에 대한 모든 것을 알아보겠습니다.

C#에서 문자열을 날짜/시간으로 변환

문자열을 날짜/시간으로 변환하려면 문자열이 특정 형식으로 작성되어야 한다는 것을 이미 알고 있습니다. 일, 월, 연도를 명확하게 표시하는 형식입니다.

그래야만 위에서 언급한 대로 이 작업을 진행할 수 있습니다. 이 방법은 CultureInfo에 대한 지식이 필요합니다. 먼저 이해합시다.

우선 using System.Globalization;을 가져와야 합니다. 문화 정보와 그 기능을 사용하는 라이브러리.

구문은 다음과 같습니다. CultureInfo. CultureInfo에는 문화권, 쓰기 시스템, 문화권 이름, 문자열 정렬 순서, 날짜 및 숫자의 실제 형식에 대한 정보가 포함되어 있습니다.

그 안에 있는 개체는 CompareInfo와 같은 속성에 의해 반환됩니다. 문화권은 세 가지 불변 문화권 중 하나로 그룹화됩니다.

DateTimeFormatNumberFormat도 형식 지정 규칙 및 문자열 비교를 반영합니다.

이 참조에서 CultureInfo에 대해 자세히 알아보세요.

형식 및 문화 정보와 함께 DateTime.ParseExact() 내부에 작성된 특정 문자열을 전달해야 합니다.

특정 형식으로 문자열을 작성한 후에는 DateTime.ParseExact() 내부에 전달하면서 동일한 형식을 일치시켜야 합니다. 이제 코드와 문자열을 날짜/시간으로 변환하는 구현을 이해합시다.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Globalization;  /// To use CultureInfo

namespace String_To_Date_Time {
  class Program {
    static void Main(string[] args) {
      // First Method Using DateTime.ParseExact;
      string str = "2022-11-22 13:22";
      DateTime d = DateTime.ParseExact(str, "yyyy-MM-dd HH:mm", CultureInfo.InvariantCulture);
      // Throws Exception if the Format Is Incorrect...
      Console.WriteLine(d);
      Console.Read();
    }
  }
}

함수 내부에 문자열 str을 전달하고 문자열에 정의된 동일한 형식을 전달했습니다. 작성된 문자열의 형식이 올바르지 않으면 이 함수는 형식이 올바르지 않다는 예외를 throw합니다.