>  기사  >  백엔드 개발  >  문자열부터 날짜까지 C#

문자열부터 날짜까지 C#

WBOY
WBOY원래의
2024-09-03 15:17:26581검색

C#에서는 DateTime 구조체에서 제공하는 일부 구문 분석 메서드를 사용하여 날짜 및 시간의 문자열 표현을 동등한 DateTime 개체로 변환할 수 있습니다. 이러한 방법을 사용하려면 변환할 날짜의 문자열 표현이 필요하며, 이와 함께 문화별 형식 정보도 지정할 수 있습니다.

방법은 아래와 같습니다.

  • DateTime.Parse()
  • DateTime.ParseExact()
  • DateTime.TryParse()
  • DateTime.TryParseExact()

각 파싱 방법의 구문

각 구문 분석 방법에 대한 구문은 다음과 같습니다.

public static DateTimeParse(string str);

여기서 Parse() 메서드는 변환할 날짜와 시간을 나타내는 문자열 인수를 사용합니다. str.

으로 표시되는 날짜 및 시간에 해당하는 DateTime 개체를 반환합니다.
public static DateTimeParseExact(string str, string strFormat, IFormatProviderformatProvider);

여기서 세 개의 인수가 메서드에 전달됩니다. 여기서 str은 변환할 날짜 및 시간의 문자열 표현이고, format은 필요한 str 형식을 지정하며, formatProvider는 str에 대한 문화별 형식 정보를 제공합니다. str로 표시되는 날짜 및 시간에 해당하는 DateTime 개체를 반환합니다.

public static bool TryParse(string str, out DateTimeresult);

여기서 str은 변환할 날짜와 시간을 나타내며, 결과 값은 result 변수에 저장됩니다. 이 메서드는 변환이 성공하면 true를 반환합니다. 그렇지 않으면 false를 반환합니다.

public static bool TryParseExact(string str, string[] strFormats, IFormatProviderformatProvider,
DateTimeStylesstyle, out DateTimeresult);

이 메서드는 변환이 성공하면 true를 반환합니다. 그렇지 않으면 false를 반환합니다.

C#에서 문자열을 날짜로 변환하는 방법은 무엇입니까?

C#에서는 문자열을 날짜로 변환하는 데 여러 가지 방법을 사용할 수 있습니다. 변환할 문자열은 날짜 및 시간을 올바르게 표현해야 하며 null이거나 비어 있어서는 안 됩니다. 변환이 성공하면 이 메소드는 DateTime 객체를 반환합니다.

현재까지 문자열을 파싱하는데 사용된 방법은 다음과 같습니다.

  • DateTime.Parse(문자열);
    DateTime.Parse(string, IFormatProvider);
    DateTime.Parse(string, IFormatProvider, DateTimeStyles);

위 세 가지 메소드는 Parse() 메소드의 오버로드 형태입니다. 모두 성공적인 변환 시 System.DateTime 개체를 반환합니다.

예:

CultureInfo provider = newCultureInfo("en-US");
DateTime date = DateTime.Parse("08/08/2020", provider,
DateTimeStyles.AdjustToUniversal);

위 명령문에서는 먼저 IFormatProvider를 구현하는 CultureInfo 클래스의 개체를 만들었습니다. 이제 이 메서드는 제공된 문화권별 형식 정보를 사용하고 지정된 DateTimeStyles 값을 적용하여 입력 문자열을 동등한 DateTime 개체로 변환합니다. 변환이 성공하면 결과 DateTime 객체가 'date' 변수에 저장됩니다.

  • DateTime.ParseExact(문자열, 문자열, IFormatProvider);
    DateTime.ParseExact(문자열, 문자열, IFormatProvider, DateTimeStyles);
    DateTime.ParseExact(string, string[], IFormatProvider, DateTimeStyles);

위 세 가지 메소드는 ParseExact() 메소드의 오버로드된 형태입니다. 모두 성공적인 변환 시 System.DateTime 개체를 반환합니다.

예:

string[] dateFormats = new[] { "yyyy/MM/dd", "MM/dd/yyyy",
"MM/dd/yyyyHH:mm:ss"};
CultureInfo provider = newCultureInfo("en-US");
DateTime date = DateTime.ParseExact("08/08/2020", dateFormats, provider,
DateTimeStyles.AdjustToUniversal);

이 메소드에 전달된 날짜의 문자열 표현은 문자열 배열에 포함된 지정된 형식과 정확히 일치해야 합니다.

  • DateTimeTryParse(문자열, DateTime 출력);
    DateTime.TryParse(string, IFormatProvider, DateTimeStyles, out DateTime);

이 메서드의 매개변수 유형은 앞서 본 것과 동일합니다. 이 메서드는 문화권별 형식 정보와 여기에 전달된 스타일을 사용하여 입력 문자열을 동등한 DateTime 개체로 변환하고, 변환에 성공하면 true를 반환합니다. 그렇지 않으면 false를 반환합니다. 결과 DateTime 값은 이 메소드의 'out' 매개변수에 저장됩니다.

  • DateTime.TryParseExact(string, string[], IFormatProvider, DateTimeStyles, out DateTime);
    DateTime.TryParseExact(string, string, IFormatProvider, DateTimeStyles, out DateTime);

이 메서드는 제공된 문화권별 형식 정보 및 스타일을 사용하여 입력 문자열을 날짜로 변환합니다. 이 메서드는 성공적인 변환 시 true를 반환합니다. 그렇지 않으면 false를 반환합니다.

C#까지의 문자열 예시

아래는 예시입니다.

코드:

using System;
usingSystem.Globalization;
publicclassProgram
{
publicstaticvoidMain()
{
DateTime date;
string[] dateFormats = new[] { "yyyy/MM/dd", "MM/dd/yyyy",
"MM/dd/yyyyHH:mm:ss"};
CultureInfo provider = newCultureInfo("en-US");
try
{
//Parse()
date = DateTime.Parse("08/08/2020");
Console.WriteLine("\nParse() method: " + date);
//ParseExact()
date = DateTime.ParseExact("08/08/2020", dateFormats, provider,
DateTimeStyles.AdjustToUniversal);
Console.WriteLine("\nParseExact() method: " + date);
}
catch (Exception ex)
{
Console.Write(ex.Message);
Console.ReadLine();
}
//TryParse()
if (DateTime.TryParse("08/08/2020", out date))
{
Console.WriteLine("\nTryParse() : " + date);
}
else
{
Console.WriteLine("Conversion failed");
}
//TryParseExact()
if (DateTime.TryParseExact("08/08/2020", dateFormats, provider,
DateTimeStyles.AdjustToUniversal, out date))
{
Console.WriteLine("\nTryParseExact() : " + date);
}
else
{
Console.WriteLine("Conversion failed");
}
Console.ReadLine();
}
}

출력:

문자열부터 날짜까지 C#

결론

C#에서는 DateTime 구조체에서 제공하는 구문 분석 방법을 사용하여 문자열을 DateTime 개체로 변환할 수 있습니다. 이러한 방법 외에도 Convert를 사용하여 문자열을 날짜로 변환할 수 있습니다. 날짜의 문자열 표현을 입력으로 사용하고 해당 DateTime 객체를 반환하는 DateTime() 메서드입니다.

위 내용은 문자열부터 날짜까지 C#의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.