iOS 计算两个日期之间的天数问题

摘要:
1//获取当前时间若干年、月、日之后的时间2+(NSDate*)dateWithFromDate:(NSDate*)dateyears:(NSInteger)yearsmonths:(NSInteger)monthsdays:(NSInteger)days{3NSDate*latterDate;4if(date){5latterDate=date;6}else{7latterDate=[NSDat

1 //获取当前时间若干年、月、日之后的时间
2 + (NSDate *)dateWithFromDate:(NSDate *)date years:(NSInteger)years months:(NSInteger)months days:(NSInteger)days{
3     NSDate  *latterDate;
4     if(date) {
5         latterDate =date;
6     }else{
7         latterDate =[NSDate date];
8 }
9     NSCalendar *calendar =[[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
10     NSDateComponents *comps = [calendar components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute
11 fromDate:latterDate];
12 
13 [comps setYear:years];
14 [comps setMonth:months];
15 [comps setDay:days];
16 
17     return [calendar dateByAddingComponents:comps toDate:latterDate options:0];
18 }

1 /**
2 * @method
3 *
4 * @brief 获取两个日期之间的天数
5 * @param fromDate       起始日期
6 * @param toDate         终止日期
7 * @return    总天数
8  */
9 + (NSInteger)numberOfDaysWithFromDate:(NSDate *)fromDate toDate:(NSDate *)toDate{
10     NSCalendar *calendar =[[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
11 
12     NSDateComponents    * comp =[calendar components:NSCalendarUnitDay
13 fromDate:fromDate
14 toDate:toDate
15 options:NSCalendarWrapComponents];
16     NSLog(@"-- >>  comp : %@  << --",comp);
17     returncomp.day;
18 }

根据以上两个方法可以获得更多根据日期计算天数的方法,只是在获取日期时传的参数不同,在此就不一一列举了。

免责声明:文章转载自《iOS 计算两个日期之间的天数问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Windows10安装DockerRetrofit 2.0 上传文件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Python股票历史数据的获取

获取股票数据的接口很多,免费的接口有新浪、网易、雅虎的API接口,收费的就是证券公司及相应的公司提供的接口。收费试用的接口一般提供的数据只是最近一年或三年的,限制比较多,除非money足够多。所以本文主要讨论的是免费数据的获取及处理。 国内提供股票数据的接口如sinajs,money.163.com,yahoo,它们提供的API接口不同,每家提供的数据大同...

time模块和datetime模块详解

一、time模块  time模块中时间表现的格式主要有三种:   a、timestamp时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量   b、struct_time时间元组,共有九个元素组。   c、format time 格式化时间,已格式化的结构使时间更具可读性。包括自定义格式和固定格式。 1、时间格式转换图: 2、...

【mysql】 mybatis实现 主从表 left join 1:n 一对多 分页查询 主表从表都有查询条件 【mybatis】count 统计+JSON查询

mybatis实现 主从表 left join  1:n 一对多 分页查询   主表从表都有查询条件+count 需求: ======================================== 1.主从表数据 是 1:m 2.主从表各自都有查询条件 3.最后查询结果 需要分页,并统计总数 注意: =========================...

SqlLite 简明教程

SQL DML 和 DDL可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。注:"--"双减号为行注释SQL (结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入和删除记录的语法。查询和更新指令构成了 SQL 的 DML 部分:SELECT - 从数据库表中获取数据UPDATE - 更新数据库表...

JAVAWEB应用模块(一)登录模块

java后台代码(MD5加密+token验证): import com.smart.ssai.admin.domain.User; import com.smart.ssai.admin.service.UserService; import com.smart.ssai.VO.Response; import com.smart.ssai.common....

解析Cron表达式

1.引入       有些时候我们不但需要定时执行任务,而且需要获得下一次执行的时间。       但是我们执行时间配置的是cron表达式,不能够根据上次执行的时间+执行间隔这种方式来获得。所以我们必须要解析cron 2.方法   Date curTime = new Date();   System.out.println(curTime);...