2011-08-18 27 views
1

私は自分のアプリのユーザーに、「今日」、「昨日」、またはフォーマットされた日付(つまり、27/05/2011)として日付を提示したいと思います。特定のNSDateに基づいて「今日」または「昨日」を取得する簡単な方法はありますか?そうでない場合は、コードを自分で記述することができます。手作業で残りの時間を処理するより簡単な方法が見落とされているかどうか不思議です。NSDateから「今日」と「昨日」作業中ですか?

答えて

8

あなたは自分のユーザーに日付を提示したい場合は、その権利のためのNSDateFormatterでオプションがあります。
- (void)setDoesRelativeDateFormatting:(BOOL)b

詳細については、ドキュメントをご覧ください。

+0

私はNSDateFormatterを使用していますが、私はこれをドキュメントで見つけていませんでした。私が達成しようとしていたものとほぼ同じです。ニースは、多くの感謝を見つける。 – fuzzygoat

2

この類似の質問を確認してください:Compare NSDate for Today or Yesterday

今日は昨日からNSDate個のオブジェクトを作成して、descriptionの最初の10文字を確信しているNSDateと比較します。 Date and Time Programming Guideから

+0

これは面白い方法であり、私が考えていたものではなく、私は演劇をして、私がやったことのためにそれがどのように機能するかを見ます。とても有難い。 – fuzzygoat

+0

これはうまくいきますが、setDoesRelativeDateFormatting:(Evgeniyが指摘したように)NSDateFormatterを使用すると、少し単純に見えます。 – fuzzygoat

1

NSTimeInterval secondsPerDay = 24 * 60 * 60; 
NSDate *today = [[NSDate alloc] init]; 
NSDate *tomorrow, *yesterday; 

tomorrow = [today dateByAddingTimeInterval: secondsPerDay]; 
yesterday = [today dateByAddingTimeInterval: -secondsPerDay]; 
[today release]; 
+0

ありがとうございました、私は上記を見ましたが、それは今からいずれかの方法で1日の終わりまでにNSDateオフセットを与えるだけです。任意の参照日付と比較しません。 – fuzzygoat

+0

@fuzzygoat:最初の10文字を取り、それをあなたが持っている日付と比較することで、分 - 分 - 秒を削除することができます。 – PengOne

関連する問題