一.前言

 最近做一个智能幼教产品,需要通过出生年月计算儿童用户的年龄大小,写了一个简单的函数方法调用如下,希望能给有需要人有所帮助,不正之处望多指正!
复制代码

#pragma mark -- 生日转化为年龄 +(NSString *)countAgeWithBirthDay:(NSString *)birth{ //定义一个NSCalendar对象 NSCalendar *calendar = [NSCalendar currentCalendar];

NSDate *nowDate = [NSDate date];NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
//生日
NSDate *birthDay = [dateFormatter dateFromString:birth];//用来得到详细的时差
unsigned int unitFlags = NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit|NSHourCalendarUnit|NSMinuteCalendarUnit|NSSecondCalendarUnit;NSDateComponents *date = [calendar components:unitFlags fromDate:birthDay toDate:nowDate options:0];if([date year] >0)
{NSLog(@"%@",[NSString stringWithFormat:(@"%ld岁%ld月%ld天"),(long)[date year],(long)[date month],(long)[date day]]) ;return [NSString stringWithFormat:(@"%ld岁%ld月%ld天"),(long)[date year],(long)[date month],(long)[date day]] ;
}
else if([date month] >0)
{NSLog(@"%@",[NSString stringWithFormat:(@"%ld月%ld天"),(long)[date month],(long)[date day]]);return [NSString stringWithFormat:(@"%ld月%ld天"),(long)[date month],(long)[date day]] ;
}
else if([date day]>0){NSLog(@"%@",[NSString stringWithFormat:(@"%ld天"),(long)[date day]]);return [NSString stringWithFormat:(@"%ld天"),(long)[date day]] ;
}
else {NSLog(@"0天");return @"0" ;
}
复制代码

}

转载于:https://juejin.im/post/5a31d46af265da43176a25ee

iOS 生日字符串转化年龄相关推荐

  1. 入门PHP教程:PHP根据身份证号码,获取性别、获取生日、计算年龄等多个信息

    用PHP根据身份证号码,获取性别.获取生日.计算年龄等多个信息 方法教程: 1.PHP根据身份证号码,获取性别. 2.PHP根据身份证号码,获取生日. 3.PHP根据身份证号码,计算年龄. 4.PHP ...

  2. PHP 根据身份证号码,获取性别、获取生日、计算年龄、获取地址、获取生肖、获取星座、以及判断是否是身份证号

    PHP 根据身份证号码,获取性别.获取生日.计算年龄.获取地址.获取生肖.获取星座.以及判断是否是身份证号 方法教程: 1.PHP根据身份证号码,获取性别. 2.PHP根据身份证号码,获取生日. 3. ...

  3. PHP根据身份证号码,获取性别、获取生日、计算年龄等多个信息

    PHP 根据身份证号码,获取性别.获取生日.计算年龄.获取地址.获取生肖.获取星座.以及判断是否是身份证号. 方法教程: 1.PHP根据身份证号码,获取性别. 2.PHP根据身份证号码,获取生日. 3 ...

  4. JAVA 输入身份证号码进行验证正误,15位转18位,并解析出生日、当前年龄、地区代码、性别

    我们的身份证号码包含很多的信息,下面的代码提供了身份证的解析功能,具体看注释吧,已经写全了 import java.text.SimpleDateFormat; import java.util.Da ...

  5. python输入字符串转换为公式_将python字符串转化成长表达式的函数eval实例

    爬一个网页时,要保存的数据都没有encode,就导致保存下来的中文都变成unicode了... 那么,怎么把一个表示字符串的unicode还原成unicode呢? 函数eval(expression) ...

  6. R语言as.Date函数将字符串转化为日期格式实战

    R语言as.Date函数将字符串转化为日期格式实战 目录 R语言as.Date函数将字符串转化为日期格式实战 #基础语法 # 仿真数据

  7. 程序员面试题100题第17题——字符串转化为整数

    题目:把输入的字符串转化为整数,如:"-456" 输出456."+456"输出456,"456"输出"456",如果是非 ...

  8. 如何将比Long类型更大数值字符串转化为整数

    前几天,需要做一个number类型的数据库主键唯一处理,而且有38位.于是再想使用什么规则控制唯一性.最后决定采用时间,年月日时分秒毫秒,再加随机数. 问题产生了,如何将一个38位的数字字符串转化为整 ...

  9. 《剑指offer》-- 栈的压入与弹出序列、把字符串转化为整数、扑克牌顺子、孩子们的游戏(圆圈中最后剩下的数)

    一.栈的压入与弹出序列: 1.题目: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序. 假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序 ...

最新文章

  1. 学Java需要下载什么软件?都有什么作用?
  2. 每日一皮:不同的视角看待问题...
  3. ab和jmeter进行GET/POST压力测试的使用心得和比较(转载,在ubuntu16.04下使用ab带json对centos7压力测试验证可用)
  4. keras报错ValueError: No data provided for XXX
  5. JAVA 中转义符的理解
  6. Ackerman函数(阿克曼函数) 递归实现(C++)
  7. 易语言 内存调用html文件夹,将文件移到指定文件夹 易语言移动文件到指定文件夹内...
  8. windows下安装MinGW及C++的环境配置
  9. Impala集群搭建报错,主节点启动成功,但是worker节点的impalad启动失败
  10. 青云科技上市:云计算企业的另一种最优解
  11. 谷歌插件开发ajax请求,谷歌扩展程序设置ajax请求容许跨域(极少人知道的解决方案)...
  12. 07_Numpy渐变图片的生成
  13. VMware Horizon 8 2209 - 虚拟桌面基础架构 (VDI) 和应用软件
  14. 【每周一篇】常用推荐算法总结
  15. java 获取浏览器名称及版本号
  16. K210神经网络的训练以及出现内存不足的情况memory not enough解决方案
  17. 浏览器HTTP_USER_AGENT汇总——Firefox、Chrome、IE9、IE8、IE7、IE6
  18. 规范化git commit信息
  19. TCP/IP:接口的一些总结
  20. PC端抖音HTML布局,从抖音网页版上线、微信PC版可发朋友圈,看互联网「全端化」布局...

热门文章

  1. Spring-AOP @AspectJ进阶之绑定连接点方法的返回值
  2. 以太网Ethernet解码概述
  3. MUI+H5手机上传照片 支持多图片上传和拍照上传
  4. java getselectedrow_Java swing(2)自己设计完善的独特功能图书管理系统,获取下拉框等的文字内容等...
  5. windows配置gitlab秘钥并测试_你了解多少Linux系统GitLab安装与环境配置?
  6. Kotlin1.6.20好用的新特性:多receiver扩展函数,绝不可空类型,并行编译kotlin减少编译时间
  7. linux io重定向指令,Linux基础知识之 IO重定向
  8. 微型计算机硬件的最小配置包括,职中计算机应用基础第一章测试题及答案
  9. 【Tools】CMAKE的使用
  10. 《阿里巴巴 Java 开发手册》读书笔记