2012-05-10 5 views
2

私はこれに新しいですが、私は2つのNSDateを異なるフォーマットと比較しながら多くの問題に直面しました。ios:2つのNSdatesを異なるフォーマットと比較するには?

- この問題を解決する最良の方法はありますか?

1.Iは、一つのフォーマットには、この二つの日付を変換してから比較 のために行くか、私が最初にこの2つの日付の形式を知っている必要がありますしようとした後、比較

+0

私の1つの日付はLike -2012-05-08 12:01:56 +0000と別の日付は-2011-05-09にあります10:25:00.627私はこのような日付を比較したいと思います1つは例ですが、私は他の形式も扱う必要があります) –

答えて

2

NSDateのために行くことですについての事を知りませんフォーマット。内部的には日付はフォーマットや領域なしで保存されます。

日付を比較するにはcompare:メソッドを使用できます。

if([someDate compare:ortherDate] == NSOrderedDescending){ 
    // someDate later then otherDate; 
} 
+0

この2つの日付を1つの形式に変換して、この2つの日付を比較する必要があります。 –

+0

はい、日付を常に変換することなく比較してください。 NSDateオブジェクトは、日付の表現方法を知らなくても、日付を扱いやすくするために特別に設計されています。 – rckoenes

0

フォーマットとはどういう意味ですか?あなたはNSDateオブジェクトを初期化した後、あなたが直接そのようなそのタイプの他のオブジェクトにそれをcomapreすることができます:あなたはここに参照を見ることができます

if ([date1 compare:[NSDate date]] == NSOrderedAscending) { 
    ... 
} 

date1がタイプNSDateであると仮定)(compare方法を探し):https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/nsdate_Class/Reference/Reference.html

+0

私の1つの日付はLikeです-2012-05-08 12:01:56 +0000そして別の日付は-2011-05-09です10:25:00.627私はこの種の形式を言うことを意味します。 –

+0

@rckoenesは既に答えられているので、オブジェクトの内部的な値を使って比較するため、フォーマットは重要ではありません。 – Michael

関連する問題