日付と時刻のプログラミングには完全なガイドがあります。ここにはrelevant sectionがあります。これはあなたに何をすべきかのヒントを与えます。
これは、他の質問の例コードです。
具体的な質問がある場合は、それに基づいて何か試してみてください。
編集
わかりました。ここで私はそれを最も基本的な形式でコードを書く方法です。
まず、NSDateを拡張します。
ヘッダファイル:
// NSDate+ADNExtensions.h
#import <Cocoa/Cocoa.h>
@interface NSDate (ADNExtensions)
- (NSInteger)numberOfDaysUntil:(NSDate *)aDate;
@end
実装ファイル:
// NSDate+ADNExtensions.m
#import "NSDate+ADNExtensions.h"
@implementation NSDate (ADNExtensions)
- (NSInteger)numberOfDaysUntil:(NSDate *)aDate {
NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *components = [gregorianCalendar components:NSDayCalendarUnit fromDate:self toDate:aDate options:0];
return [components day];
}
@end
これは非常に粗いコードです。 2番目の日付が最初の日付より後であることを確認または検証するエラーはありません。
そして私は(64ビット、ガベージコレクション環境で実行されている)、このようにそれを使用します。
NSDate *startDate = [NSDate dateWithString:@"2010-11-01 00:00:00 +0000"];
NSDate *endDate = [NSDate dateWithString:@"2010-11-02 00:00:00 +0000"];
NSInteger difference = [startDate numberOfDaysUntil:endDate];
NSLog(@"Diff = %ld", difference);
あなたのコードを投稿することで、より多くのことを学んだだろうので、これは、そのような恥であります間違った出力とより具体的なヘルプを得ることができます。しかし、カット&ペーストのプログラマーになりたいならば。このコードとあなたに幸運を取る。
複製? http://stackoverflow.com/questions/2548008/how-can-i-compare-two-dates-return-a-number-of-days – Mantar
その質問は私が必要なものに答えることはありません。私は単にそのメソッドを実装する方法を見たいだけです。 – CodeGuy
[私が言及した質問]の複製(http://stackoverflow.com/questions/2548008/how-can-i-compare-two-dates-return-a-number-of-days)では、その答えとまったく同じコードですが、月フラグを省略してください。 – Pascal