Как мне найти прошедшую дату в Задаче C? - PullRequest
3 голосов
/ 07 декабря 2011

Как я могу получить прошедшую дату в цели C?Мол,

NSDate *pastDate = //some date 2 weeks ago

Ответы [ 3 ]

6 голосов
/ 07 декабря 2011

от макушки головы:

NSDate *today = [NSDate date];
NSDateComponents *dc = [[[NSDateComponents alloc] init] autorelease];
[dc setDay:-14];
NSCalendar *cal = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
NSDate *pastDate = [cal dateByAddingComponents:dc toDate:today  options:0];
3 голосов
/ 07 декабря 2011
NSDate *today = [NSDate date];
NSLog(@"today:    %@",today);

NSDateComponents *dateComponents = [[NSDateComponents alloc] init];
[dateComponents setWeek:-2];
NSCalendar *currentCalendar = [NSCalendar currentCalendar];
NSDate *pastDate = [currentCalendar dateByAddingComponents:dateComponents toDate:today  options:0];
NSLog(@"pastDate: %@",pastDate);

Вывод NSLog:

today:    2011-12-07 11:52:15 +0000
pastDate: 2011-11-23 11:52:15 +0000

В этом примере используется ARC.

0 голосов
/ 07 декабря 2011

Предположим, вам плевать на летнее время,

NSDate* pastDate = [NSDate dateWithTimeIntervalSinceNow:-2*7*24*60*60];

// Get the date which is exactly 2 weeks (14 days) ago.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...