1. ホーム
  2. objective-c

[解決済み] 現在の日付から7日分を差し引いた日数

2022-07-06 10:40:53

質問

現在の日付から7日を引くことができないようです。私はこの方法でやっています。

NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *offsetComponents = [[NSDateComponents alloc] init];
[offsetComponents setDay:-7];
NSDate *sevenDaysAgo = [gregorian dateByAddingComponents:offsetComponents toDate:[NSDate date] options:0];

SevenDaysAgoは、現在の日付と同じ値を取得します。

助けてください。

EDIT: 私のコードでは、現在の日付を取得する変数を正しいものに置き換えるのを忘れていました。そのため、上記のコードは機能しています。

どのように解決するのですか?

dateByAddingTimeIntervalメソッドを使用します。

NSDate *now = [NSDate date];
NSDate *sevenDaysAgo = [now dateByAddingTimeInterval:-7*24*60*60];
NSLog(@"7 days ago: %@", sevenDaysAgo);

を出力します。

7 days ago: 2012-04-11 11:35:38 +0000

お役に立てれば幸いです。