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

Minahil Noor 2024년2월16일
  1. Convert.ToDateTime()을 사용하여stringDateTime으로 변환하는 C# 프로그램
  2. DateTime.Parse()를 사용하여stringDateTime으로 변환하는 C# 프로그램
  3. DateTime.ParseExact()를 사용하여stringDateTime으로 변환하는 C# 프로그램
  4. 결론
C# 문자열을 날짜 / 시간으로 변환

대부분의 경우, 우리는 문자열 형태로 날짜를 얻으며 일, 월 및 년을 개별적으로 사용하려고합니다. C#에서는 문자열을DateTime 객체로 변환하기 위해DateTime이라는 미리 정의 된 클래스를 사용합니다.

C#에서 문자열을DateTime으로 변환하는 몇 가지 방법이 있지만 여기서는 예제를 실행하는 세 가지 방법 만 설명합니다. 이러한 메소드는Convert.ToDateTime(),DateTime.Parse()DateTime.ParseExact()입니다.

Convert.ToDateTime()을 사용하여stringDateTime으로 변환하는 C# 프로그램

Convert.ToDateTime()의 올바른 구문은

Convert.ToDateTime(dateTobeConverted);
Convert.ToDateTime(dateTobeConverted, cultureInfo);

문화권 정보를 제공하지 않는 경우 기본적으로 컴파일러는 날짜 문자열을 월/일/ 년으로 표시합니다. CultureInfoSystem.Globalization 네임 스페이스의 C# 클래스입니다. 특정 문화에 대한 정보.

using System;

public class Conversion {
  public static void Main() {
    string CurrentDate = "06/04/2020";

    // Use of Convert.ToDateTime()
    DateTime DateObject = Convert.ToDateTime(CurrentDate);
    Console.WriteLine("The Date is: " + DateObject.Day + " " + DateObject.Month + " " +
                      DateObject.Year);
  }
}

출력:

The Date is: 4 6 2020

이제 우리는CultureInfo 객체를 매개 변수로 전달하여 구현할 것입니다.

using System;
using System.Globalization;
public class Conversion {
  public static void Main() {
    string CurrentDate = "06/04/2020";

    // Creating new CultureInfo Object
    // You can use different cultures like French, Spanish etc.
    CultureInfo Culture = new CultureInfo("en-US");
    // Use of Convert.ToDateTime()
    DateTime DateObject = Convert.ToDateTime(CurrentDate, Culture);
    Console.WriteLine("The Date is: " + DateObject.Day + " " + DateObject.Month + " " +
                      DateObject.Year);
  }
}

출력:

The Date is: 4 6 2020

CultureInfonl-NL로 변경하면 월과 일이 바뀝니다.

using System;
using System.Globalization;
public class Conversion {
  public static void Main() {
    string CurrentDate = "06/04/2020";
    CultureInfo Culture = new CultureInfo("nl-nl");

    DateTime DateObject = Convert.ToDateTime(CurrentDate, Culture);
    Console.WriteLine("The Date is: " + DateObject.Day + " " + DateObject.Month + " " +
                      DateObject.Year);
  }
}

출력:

The Date is: 6 4 2020

DateTime.Parse()를 사용하여stringDateTime으로 변환하는 C# 프로그램

DateTime.Parse()의 문법은,

DateTime.Parse(dateTobeConverted);
DateTime.Parse(dateTobeConverted, cultureInfo);

문화권 정보를 인수로 제공하지 않으면DateTime.Parse()메소드도 마찬가지입니다. 기본적으로 시스템은 월/일/년으로 표시합니다.

변환 할 문자열의 값이 null이면try-catch 블록을 사용하여 처리해야하는 ArgumentNullException 을 반환합니다.

using System;

public class Conversion {
  public static void Main() {
    string CurrentDate = "06/04/2020";

    // Use of DateTime.Parse()
    DateTime DateObject = DateTime.Parse(CurrentDate);
    Console.WriteLine("The Date is: " + DateObject.Day + " " + DateObject.Month + " " +
                      DateObject.Year);
  }
}

출력:

The Date is: 4 6 2020

DateTime.ParseExact()를 사용하여stringDateTime으로 변환하는 C# 프로그램

DateTime.ParseExact()의 문법은,

DateTime.ParseExact(dateTobeConverted, dateFormat, cultureInfo);

DateTime.ParseExact()는 문자열을DateTime으로 변환하는 가장 좋은 방법입니다. 이 방법에서는 날짜 형식을 인수로 전달합니다. 이를 통해 사용자는 변환을 정확하게 수행 할 수 있습니다.

여기서는 완전히 새로운 주제이며 문화를 이해하는 데 시간이 걸리기 때문에 문화 정보 대신 매개 변수로 null을 전달했습니다.

using System;

public class Conversion {
  public static void Main() {
    string CurrentDate = "06/04/2020";

    // Use of DateTime.ParseExact()
    //  culture information is null here
    DateTime DateObject = DateTime.ParseExact(CurrentDate, "dd/MM/yyyy", null);
    Console.WriteLine("The Date is: " + DateObject.Day + " " + DateObject.Month + " " +
                      DateObject.Year);
  }
}

출력:

The Date is: 6 4 2020

결론

C#에는 문자열을DateTime으로 변환하는 방법이 많이 있습니다. 우리는 그들 중 몇 가지를 논의했습니다. 문자열을DateTime으로 변환하는 가장 좋은 방법은DateTime.ParseExact()입니다.

관련 문장 - Csharp String

관련 문장 - Csharp Datetime