2011-01-04 4 views
4

파일에서 값을 읽고 DateTime으로 변환하는 시나리오가 있습니다. 문제는 내 시간에 때로는 초당 5 자리, 때로는 6 자리가 있다는 것입니다. 예 : 19:23:30.1234512:13:33.123456. 이 구문을 분석해야한다면 ss.fffff 또는 ss.ffffff을 사용할 수 없습니다. 나는 무엇을해야합니까?C# DateTime.ParseExact 분수 초 문제

+1

'DateTime.Parse ("12 : 13 : 33.12345")'및'DateTime.Parse ("12 : 13 : 33.123456")'work-for-me. –

답변

5

대문자 F를 6 개 사용해보십시오. The F Custom Format Specifier 제목 아래 문서에 따르면

ParseExact 사용 "F"형식 지정자 의 수는 는 TryParseExact, ParseExact하거나 TryParseExact 방법은 초 가장 중요한 숫자의 최대 수를 나타냅니다 그 부분은 문자열을 성공적으로 구문 분석 할 수 있습니다 .

+1

이 작동합니다. 고마워요. – Aks

+0

소문자 f는 필수 후행 0이고, 대문자 F는 선택적 후행 제로입니다. –

0

왜 특별한 것이 필요합니까? 지정자없이 DateTime.Parse (stringFromFile)가 직접 작동하지 않습니까?

+2

DateTime.Parse는 다른 문화권에서도 다르게 작동하며 정확하지 않거나 최악의 경우 완전히 부정확 할 수있는 다양한 날짜/시간 형식을 허용합니다. 데이터의 무결성이 중요한 경우 DateTime.ParseExact를 사용해야합니다. – Josh

+0

간단한 구문 분석이 작동하지 않습니다. 여기에 완전한 시간'Mon Jan 04 19 : 59 : 57.57000 2010' – Aks