当前位置: 首页 > 编程笔记 >

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

陆敏学
2023-03-14
本文向大家介绍iOS获取某个日期后n个月的日期,包括了iOS获取某个日期后n个月的日期的使用技巧和注意事项,需要的朋友参考一下

一、给一个时间,给一个数,正数是以后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个月的日期,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!

 类似资料:
  • 如果我有一个返回日期的变量,格式为dd-MMM-yyyy,那么2014年8月28日,如何获取上个月的日期。 我可以通过以下方式修改月份: 本质上,这是在月份中增加一个...但是我怎么能解释年份,所以如果当前日期是2014年12月12日,之前的日期是2013年1月12日? 我的应用程序使用AngularJS可以使用过滤器。 更新时间: 为什么虽然月份增加了,但日子显示为01而不是28?

  • 问题内容: 我想知道上个月的日期。我这样写: 这给了我当前的月份/年份。我不知道我是否应该使用,。时间戳记了吗?我是否需要在事后添加一些内容以进行重置,以便在我网站上所有时间戳的所有时间中,日期都不设置为上个月?我正在尝试RTM,但我很难弄清楚。 问题答案: 获取上个月的日期很简单 11月3日返回

  • 我想根据月份对值进行分类,以便第一次过滤这些值 例如:-

  • 问题内容: 如何在where子句中使用下个月的第一天和最后一天? 问题答案: 采用:

  • 问题内容: 我有两个这样的表: 表格1 表2 我想从 Table1中 选择并插入 Table2中 。 例如: 在表1中,我有这个 在表2中,我想要这个 带有样本数据的表结构 问题答案: 感谢您的架构。它使处理您的问题变得容易。我对您的架构进行了一些更改以利用auto_increment 在这里,我在emp_leave_daywise表上添加了唯一约束,因为id整数上的主键不能确保记录不重复。 em

  • 我有一个LocalDateTime对象,我想得到这个月的最后一个日期。所以如果localDateTime指向今天的10月29日。我想把它改为10月31日 有没有干净简单的方法 我的想法: 一种方法是得到这个月,然后做一个转换声明。但这将是一个漫长而乏味的过程。不确定是否有内置的方法来做同样的事情