Xcode Как рассчитать количество месяцев между двумя датами - PullRequest
0 голосов
/ 25 июня 2011

Я хотел бы рассчитать количество месяцев с момента последнего запуска приложения.

Для этого я сохраняю текущую дату с viewdidload до NSUserdefaults как строку.

Прежде чем сохранить текущую дату, мне нужно вычислить разницу в месяце между старой (сохраненной) и текущей датой.

Я новичок в программировании с NSDates, может кто-нибудь сказать мне, каксделать это?И как напечатать счет в табличке?

Надеюсь, вы понимаете, о чем я, и кто-то может мне помочь ...

С Деннисом

Ответы [ 2 ]

0 голосов
/ 19 июля 2011

Вы должны использовать NSDate объектов.например:

 NSDate *now=[NSDate date];   // this is **now** date object
 NSDate *lastSaved=[NSdate lastDate];   // this is last saved object
 NSComparisonResult duration=[now timeIntervalSinceDate:lastSaved];   //this will return time interval between this 2 date object in seconds
 hoursInterval=duration/3600;  // this will return hours of interval between this 2 date
 daysInterval=hoursInterval/24;  // this will return days interval between this 2 date
 monthsInterval=daysInterval/30;  // and this will return month interval between this 2 date
0 голосов
/ 25 июня 2011

Предпочтительным способом является использование NSCalendar .

-(int)differenceInMonthsFrom:(NSDate*)older to:(NSDate*)younger {
  NSCalendar *calendar=[NSCalendar currentCalendar];
  NSDateComponents *components=[calendar components:NSMonthCalendarUnit fromDate:older toDate:younger options:0];
  return [components month];
}

Обратите внимание, что эта функция не проверяет порядок.Переход от сохраненной строки к NSDate может быть уловкой;может быть разумнее сохранить дату как целое число?

...