2016-08-11 5 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で終わることがありました。 –