>백엔드 개발 >C++ >'문자열이 유효한 데이터 타임으로 인식되지 않았다'오류를 해결하는 방법은 무엇입니까?

'문자열이 유효한 데이터 타임으로 인식되지 않았다'오류를 해결하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-27 00:36:08830검색

독창적으로 "문자열이 유효한 날짜 시간으로 인식되지 않습니다"오류 : 날짜 시간 형식 How to Solve the 문자열을 DateTime 객체로 변환 할 때 올바른 형식을 지정하는 것이 매우 중요합니다. 그렇지 않으면 "String이 유효한 날짜 시간으로 인식되지 않습니다"오류가 발생합니다. 이 오류는 일반적으로 예상 형식과 일치하지 않는 문자열 형식으로 인해 발생합니다.

예를 들면 :

이 코드는 기본 형식으로 문자열을 DateTime 객체로 변환하려고 시도하지만 문자열은 "dd/mm/yyyy"형식을 따릅니다. 이 문제를 해결하려면 dateTime.parsexact () 메소드를 사용하십시오 : . 두 번째 매개 변수에서 형식을 지정하여 parseeexact ()는 문자열의 올바른 분석을 보장 할 수 있습니다. iformatprovider와 그 사용법 iformatprovider 매개 변수를 사용하면 사용자 정의 형식 공급자를 사용하여 기본 지역 설정을 다룰 수 있습니다. 그러나이 예에서는 예상 형식이 문자열 변환에 명확하게 지정되었으므로 사용자 정의 형식의 절차를 사용자 정의 할 필요가 없습니다.

구문 분석과 parseeexact의 차이

구문 분석 :

는 현재 지역 설정을 기반으로 기본 형식을 사용하여 문자열을 dateTime 오브젝트로 해결하십시오. 문자열이 예상 형식과 일치하지 않더라도 충분히 엄격하지 않을 수 있습니다. 성공적으로 구문 분석 할 수 있습니다.
<code class="language-csharp">this.Text="22/11/2009";
DateTime date = DateTime.Parse(this.Text);</code>
parseexact :

더 엄격한 변환을 보장하려면 형식을 지정해야합니다. 문자열이 지정된 형식과 일치하지 않으면 이상이 발생합니다.

<code class="language-csharp">DateTime date = DateTime.ParseExact(this.Text, "dd/MM/yyyy", null);</code>
안전성 고려 사항의 성능 및 유형 두 방법 모두 문제를 해결할 수 있지만 parseeexact ()는 일반적으로 더 안전하고 명확합니다. 예상되는 형식을 명확하게 나타냅니다.

성능 측면에서 두 가지 방법은 모두 비슷합니다. 경우에 따라 Parse ()가 약간 빠를 수 있지만 일반적으로 무시할 수 있습니다.

위 내용은 '문자열이 유효한 데이터 타임으로 인식되지 않았다'오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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