2010-12-14 3 views
4

로그 텍스트 파일을 처리하고 날짜 시간을 검색하며 날짜 시간을 시스템의 DateTime 형식으로 변환하는 프로그램이 있습니다.C# 날짜 및 시간 범위를 만드는 방법은 무엇입니까?

그러나 프로그램이 선택한 다양한 날짜 시간 범위를 인식하지 못하는 것처럼 보입니다. 프로그램은 사용자가 선택한 날짜와 시간 사이의 레코드를 검색해야합니다.

문제는 아마도 코드의 시퀀싱 때문일 것입니다.

코드에 대한 조언을 구할 수 있습니까? 감사!

코드 :

  String timeDate2 = result1.ToString("MM/dd/yyyy HH:mm:ss"); 

      Console.WriteLine("The last written time to the registry was : " + timeDate2); 

      TimeSpan.TryParse("12/02/2010 16:04:17", out t1); 
      TimeSpan.TryParse("12/09/2010 05:12:42", out t2); 
      TimeSpan.TryParse(timeDate2, out t3); 

      if ((t3 >= t1 && t3 <= t2) == true) // Is t3 between t1 and t2? 
      { 
       foreach (String k in lines.Skip(12)) 
       { 
        Console.WriteLine(k); 
       } 
      x = 1; 
      } 

      else 
      { 
       x = 2; 
      } 

      Console.WriteLine("============================================================"); 

     } 

     if (x == 2) 
     { 
      Console.WriteLine("There is no selected days within the log files!"); 
     } 
+0

== 사실이 중복 윤곽? – GreyCloud

+0

TryParse의 결과 (텍스트가 올바르게 디코딩 된 경우 'true'여야 함)를 확인하고 "out"값을 확인하십시오. 예상 한 날짜 및/또는 시간입니까? –

답변

1
TimeSpan.TryParse("12/02/2010 16:04:17", out t1); 
TimeSpan.TryParse("12/09/2010 05:12:42", out t2); 
TimeSpan.TryParse(timeDate2, out t3); 

시간 범위는 일반적으로 해달라고 따라서, 날짜 그 때문에 시간 범위를 '어떻게 일, 시간 및 분 많은. 데이트는 아니야. TimeSpan은 날짜 사이의 시간 정의입니다. More info on the MSDN page

수정이 DateTime.TryParse

에 (그리고 T1/T2/T3의 값이 구문 분석 후 무엇인지 확인) 또한 확인 '라인'이다 12 개 이상을 가지고,

+0

프로그램에서 DateTime.TryParseExact를 사용하고 있으며 결과가 "12/09/2010 05:12:42"가됩니다. – JavaNoob

+0

TimeSpan.TryParse의 매개 변수는 '[ws] [-] {d | d.hh : mm [: ss [.ff]] | 99 일, 23 시간 59 분 59 초 동안 "99.23 : 59 : 59"와 같이 hh : mm [: ss [.ff]}} [ws] – RvdK

+0

죄송합니다. 지금은 t1의 결과를 제대로 읽지 못했습니다 : "12/2/2010 4:04:17 PM"t2 : "12/5/2010 5:12:42 AM"and timeDate : "12/09/2010 05:12:42 "TimeSpan이 DateTime으로 변경된 후. – JavaNoob

관련 문제