欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

iOS获取某个日期后n个月的日期

程序员文章站 2023-12-21 08:22:46
一、给一个时间,给一个数,正数是以后n个月,负数是前n个月; -(nsdate *)getpriousorlaterdatefromdate:(nsdate *)...

一、给一个时间,给一个数,正数是以后n个月,负数是前n个月;

-(nsdate *)getpriousorlaterdatefromdate:(nsdate *)date withmonth:(nsinteger)month
{
  nsdatecomponents *comps = [[nsdatecomponents alloc] init];
  [comps setmonth:month];
  nscalendar *calender = [[nscalendar alloc] initwithcalendaridentifier:nscalendaridentifiergregorian];
  nsdate *mdate = [calender datebyaddingcomponents:comps todate:date options:0];
  return mdate;
}

二、设置你需要增加或减少的年、月、日即可获得新的日期,上述的表示获取mydate日期前一个月的日期,如果该成+1,则是一个月以后的日期,以此类推都可以计算。

- (nsdate *)getlaterdatefromdate:(nsdate *)date withyear:(nsinteger)year month:(nsinteger)month day:(nsinteger)day {
  nscalendar *calendar = [[nscalendar alloc] initwithcalendaridentifier:nscalendaridentifiergregorian];
  nsdatecomponents *comps = nil;
  comps = [calendar components:nscalendarunityear | nscalendarunitmonth | nscalendarunitday fromdate:date];
  nsdatecomponents *adcomps = [[nsdatecomponents alloc] init];
  [adcomps setyear:year];
  [adcomps setmonth:month];
  [adcomps setday:day];
  nsdate *newdate = [calendar datebyaddingcomponents:adcomps todate:date options:0];
  return newdate;
}

总结

以上所述是小编给大家介绍的ios获取某个日期后n个月的日期,希望对大家有所帮助

上一篇:

下一篇: