4

現在、次のコードを使用してiPhoneの現在の日付を取得できます

NSDate* date = [NSDate date];
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd"];
NSString* currentDateStr = [formatter stringFromDate:date];
NSLog(@"User's current Date:%@",currentDateStr);

しかし、現在の日付から次の 15 日間の日付を取得したいのですが、どうすればそれを取得できますか?

4

5 に答える 5

6

これを試して:

NSCalendar* calendar = [[[NSCalendar alloc] initWithCalendarIdentifier: NSGregorianCalendar] autorelease];
NSDateComponents* components = [[[NSDateComponents alloc] init] autorelease];
components.day = 15;
NSDate* newDate = [calendar dateByAddingComponents: components toDate: self.date options: 0];
于 2013-03-28T15:11:46.537 に答える
1
NSDate *todayDate = [NSDate date];
NSDateComponents *dateComponents = [[NSDateComponents alloc] init];
[dateComponents setDay:+15];
NSDate *afterfifteenDays = [[NSCalendar currentCalendar] dateByAddingComponents:dateComponents toDate:todayDate options:0];
NSLog(@"todayDate: %@", todayDate);
NSLog(@"afterfifteenDays: %@", afterfifteenDays);
于 2013-03-28T15:21:17.320 に答える
-1

これを試してください:

NSTimeInterval totalOffset = /*time to add - in seconds */
NSDate *today = [NSDate date];
NSDate *endWithTZ = [today dateByAddingTimeInterval:totalOffset];
于 2013-03-28T15:13:53.833 に答える
-2

より良い方法があるかもしれません(そして、私はこの質問を見て、あるかどうかを確認しています)が、これは私が現在使用しているものです:

+ (NSDate *)offsetFromDate:(NSDate *)fromDate withDays:(int)days 
{
    NSTimeInterval timeInterval = (days * 86400);
    NSDate *date = [[NSDate alloc] initWithTimeInterval:timeInterval sinceDate:fromDate];    
    return date;
}

1 日の秒数をググると、86400 という値が得られます。

于 2013-03-28T15:12:48.247 に答える
-2
  NSLog(@"%@", [date dateByAddingTimeInterval:15*24*60*60]);
于 2013-03-28T15:14:51.680 に答える