iOS 计算生日转化为年龄的方法
来源:互联网 发布:菜鸟物流打印软件 编辑:程序博客网 时间:2024/05/21 22:25
假设生日1977-8-1,当前日期2017-6-16,问:你今年多少岁?这时候根据生活中和实际档案上,我们说的年龄可能不一样,如果只用年份相减,可以说,40岁(不管你生日到了没,2017年都是40岁),但要精确到日期,因为你2017年生日还没到,可以说是39岁,生日过了之后,可以说40岁。一般生日没到大家更愿意说小一岁,也就是目前39岁,这也跟腾讯QQ上显示年龄一致。
1.根据出生日期返回年龄的方法
-(NSString *)dateToOld:(NSDate *)bornDate{//获得当前系统时间NSDate *currentDate = [NSDate date];//获得当前系统时间与出生日期之间的时间间隔NSTimeInterval time = [currentDate timeIntervalSinceDate:bornDate];//时间间隔以秒作为单位,求年的话除以60*60*24*356int age = ((int)time)/(3600*24*365);return [NSString stringWithFormat:@"%d",age];}
2.根据出生日期返回详细的年龄(精确到天)
-(NSString *)dateToDetailOld:(NSDate *)bornDate{//获得当前系统时间NSDate *currentDate = [NSDate date];//创建日历(格里高利历)NSCalendar *calendar = [NSCalendar currentCalendar];//设置component的组成部分NSUInteger unitFlags = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond ;//按照组成部分格式计算出生日期与现在时间的时间间隔NSDateComponents *date = [calendar components:unitFlags fromDate:bornDate toDate:currentDate options:0];//判断年龄大小,以确定返回格式if( [date year] > 0){ return [NSString stringWithFormat:(@"%ld岁%ld月%ld天"),(long)[date year],(long)[date month],(long)[date day]];}else if([date month] >0){ return [NSString stringWithFormat:(@"%ld月%ld天"),(long)[date month],(long)[date day]];}else if([date day]>0){ return [NSString stringWithFormat:(@"%ld天"),(long)[date day]];}else { return @"0天";}}
调用以上方法
NSString *birth = @"1995-10-30";NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];[dateFormatter setDateFormat:@"yyyy-MM-dd"];NSDate *birthDay = [dateFormatter dateFromString:birth];NSLog(@"您的年龄:%@岁",[self dateToOld:birthDay]);NSLog(@"您的年龄:%@",[self dateToDetailOld:birthDay]);结果展示
2017-06-16 11:46:54.816 Test[7215:83685] 您的年龄:39岁
2017-06-16 11:46:54.817 Test[7215:83685] 您的年龄:39岁10月15天
方法转自:http://www.jianshu.com/p/fe6bd981b9f4
阅读全文
0 0
- iOS 计算生日转化为年龄的方法
- php根据生日计算年龄的方法
- Oracle 把生日转化为年龄
- SQL:将表中生日字段转化为年龄
- php几种根据生日计算年龄的方法
- IOS中根据生日精确计算年龄
- 根据生日计算年龄
- 根据生日计算年龄
- 根据生日计算年龄
- 根据生日计算年龄
- 根据生日计算年龄
- 根据生日计算年龄
- 计算性别,年龄,生日
- javascript根据生日计算年龄
- MySQL根据生日计算年龄
- 根据用户生日计算年龄
- MySQL根据生日计算年龄
- PHP按照生日日期计算当前的实际年龄
- Ajax入门笔记
- POJ 2531 Network Saboteur
- 实现ViewPager懒加载的三种方法
- 集成 Karma 和 Jasmine 进行单元测试
- Android运行时ART执行类方法的过程分析
- iOS 计算生日转化为年龄的方法
- 手机号码验证 js input
- 剑指offer--打印1到最大n位数
- 【二】带你一起走进Activity启动模式的大门
- oracle 本地连接适配器错误无法连接plsql
- solr4.10.2及中文分词器的使用
- 初识SVN
- Springboot 整合 Mybatis
- 跨域与跨域访问