2016-08-11 3 views
-1

다음은 REST API에서 Sonatype Nexus로 가져온 문자열입니다. 60 일 이상 된 것을 지우고 싶습니다. C#에서이 코드를 작성하는 방법?C#에서이 날짜와 비교하는 방법?

<lastModified>2016-08-11 14:12:26.37 UTC</lastModified> 
+5

무엇을 시도 했습니까? 시도한 결과가 기대 한 결과와 다른 점은 무엇입니까? [MCVE] (http://stackoverflow.com/help/mcve)를 게시하십시오. –

+3

당신은 datetime.tryparse를 사용해야합니다 – pm100

+0

다른 게시물을 발견했습니다. 잘 작동합니다 : http://stackoverflow.com/questions/528368/datetime-compare-how-to-check-if-a-date-is-less-than -30 일 전 –

답변

0

당신의 API가 항상 <lastModified></lastModified>가 .. 다음은 당신이 원하는 것을 할 것입니다 반환 가정.

var MyString = "<lastModified>2016-08-11 14:12:26.37 UTC</lastModified>"; 
MyString = MyString.Substring(14); 
MyString = MyString.Replace("UTC", ""); 
MyString = MyString.Substring(0, MyString.Length - 15); 

DateTime MyDateTime = new DateTime(); 
DateTime.TryParse(MyString, out MyDateTime); 

if (MyDateTime < DateTime.Now.AddDays(-60) && MyDateTime != new DateTime(0001, 1, 1)) 
{ 
    //Do Your Code 
} 
+0

'Substring' 대신에'Replace'를 사용하여 태그를 제거 할 수 있습니다 :'MyString.Replace ("", string.Empty);'매직 넘버는 내 네임입니다. –

+0

하위 문자열이 다른 문제를 해결했습니다. 구문 분석을 위해 "yyyy-MM-dd HH : mm : ss.fff UTC"를 사용했지만 반환 문자열은 언젠가 ff 또는 f로 끝나는 경우가 있습니다. –

관련 문제