2016-07-15 2 views
0

나는 형식의 문자열로 텍스트 파일에서 돌아 오는 날짜 시간이 있습니다DateTime.ParseExact 그리고 사용자 정의 형식 작업하기

토요일 15-07-2016 0시 55분 54초

을 "MM : SS DDDD DD-YYYY-MM의 HH"

같이

나는 DateTime.ParseExact을 사용하여 날짜 시간 형식으로 변환하려고 (210), 내 코드는 다음과 같습니다 : 내가 얻을

CultureInfo provider = CultureInfo.InvariantCulture; 
string lastLine = File.ReadLines("logon.txt").Last(); //the date string is in the logon.txt 
DateTime dt = DateTime.ParseExact(lastLine, "dddd dd-MM-yyyy HH:mm:ss",provider); 
return dt; 

를 제외하고는 System.FormatException입니다 : { "문자열이 유효한 날짜 시간으로 인식 할 수 없습니다. https://drive.google.com/file/d/0B1oTQq97VF44Z21pT2FzM01XbU0/view?usp=sharing

아이디어 : "}

링크는 TXT를 로그온?

+0

는 전체를 통과하는 다음

은 나를 위해 작동 코드의 line-date 파싱 메소드. 파일에 날짜 값만 들어 있습니까? – Rahul

+0

예. 나는 logon.txt를 추가 할 것이다. – Daniel

+0

디버거를 사용하여 'lastLine'에 포함 된 것으로 생각되는 것을 포함했는지 확인 했습니까? – itsme86

답변

1

표시되는 날짜는 금요일이지만 문제는 문자열이 토요일이어야한다는 것입니다. 파일의 내용을 "Saturday"대신 "Friday"라고 바꾸면 작동합니다. 그것은 나를 위해, 어쨌든 않습니다.

또는 날짜 부분을 "16-07-2016"으로 변경하고 요일을 "토요일"로 남겨 둘 수 있습니다. 어느 쪽이든 작동해야합니다.

CultureInfo provider = CultureInfo.InvariantCulture; 
string lastLine = "Friday 15-07-2016 00:55:54"; 
DateTime dt = DateTime.ParseExact(lastLine, "dddd dd-MM-yyyy HH:mm:ss", provider); 
Console.WriteLine(dt); 

그것은 출력합니다 :

2016년 7월 15일 오전 12시 55분 54초

+0

네가 맞아. 금요일 (Logon.txt OC에서 저장)으로 변경하려고 시도했지만 행운은 없습니다. 여전히 같은 예외입니다. – Daniel

+0

파일 내용을 문자열로 바꾸어보십시오. 뭔가 완벽하게 잘 작동하기 때문에 어딘가에 문제가 있습니다. 어쩌면 당신은 파일이나 뭔가에 앞서가는 공간을 가지고있을 것입니다. – itsme86

+0

어쩌면 나는 그것을 수동으로 바꾸고 있기 때문에? 내 말은, 나는 그것을 시험하고 금요일과 15 일과 같이 어제로 dddd와 dd를 변경한다는 것입니다. – Daniel