iOS 根据生日得到生肖,星座,年龄的算法
根据用户生日,得到相应的年龄,星座和生肖。有的项目中可能会用到,贴出来共享。
得到年龄,这个很简单了:
- (void)getAgeWith:(NSDate*)birthday{ //日历
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; NSUInteger unitFlags = NSCalendarUnitYear; NSDateComponents *components = [gregorian components:unitFlags fromDate:birthday toDate:[NSDate date] options:]; self.age.text = [NSString stringWithFormat:@"%ld岁了",[components year]+];
}
根据月日得到星座:
//得到星座的算法
-(NSString *)getAstroWithMonth:(NSInteger)m day:(NSInteger)d{ NSString *astroString = @"魔羯水瓶双鱼白羊金牛双子巨蟹狮子处女天秤天蝎射手魔羯"; NSString *astroFormat = @""; NSString *result; if (m<||m>||d<||d>){ return @"错误日期格式!"; } if(m== && d>) { return @"错误日期格式!!"; }else if(m== || m== || m== || m==) { if (d>) { return @"错误日期格式!!!"; } } result=[NSString stringWithFormat:@"%@",[astroString substringWithRange:NSMakeRange(m*-(d < [[astroFormat substringWithRange:NSMakeRange((m-), )] intValue] - (-))*,)]]; return [result stringByAppendingString:@"座"]; }
根据年份得到生肖:
-(NSString *)getZodiacWithYear:(NSInteger)y{
if (y <) {
return @"错误日期格式!!!";
} NSString *zodiacString = @"鼠牛虎兔龙蛇马羊猴鸡狗猪"; NSRange range = NSMakeRange ((y+)%-, ); NSString* result = [zodiacString substringWithRange:range]; return [result stringByAppendingString:@"年"]; }
写了一个demo,需要的去这里下载:https://github.com/wangdachui/WTZodiacSigns
iOS 根据生日得到生肖,星座,年龄的算法的更多相关文章
- iOS 获取当前时间以及计算年龄(时间差)
获取当前时间 NSDate *now = [NSDate date]; NSLog(@"now date is: %@", now); NSCalendar *calendar = ...
- iOS根据获取的月和日星座名称
/** * 依据月和日的下标获取星座名 * * @param monthIndex 月的下标 * @param dayIndex 日的下标 * * @return 星座名 */ - (NSString ...
- Excel自动从身份证中提取生日、性别、年龄
现在学生的身份证号已经全部都是18位的新一代身份证了,里面的数字都是有规律的.前6位数字是户籍所在地的代码,7-14位就是出生日期.第17位“2”代表的是性别,偶数为女性,奇数为男性.我们要做的就是把 ...
- JS 识别生日、性别、年龄
<script> function IdCard(UUserCard,num){ if(num==1){ //获取出生日期 birth=UUserCard.substring(6, 10) ...
- SQL 根据生日和日期计算年龄
FLOOR(datediff(DY,p.Dob,o.RegisterTime)/365
- 【pandas】生日转年龄
数据挖掘比赛中,获得的数据中可能有个人的生日,在数据分析中并不需要生日,而是需要年龄.不同年龄会呈现不同的状态,比如收入.健康.居住条件等,年龄能够很好的把不同样本的差异性进行大范围的划分.下面讲述如 ...
- iOS上new Date异常解决办法
最近有一个项目要实现使用Angluar写一个简历模板, 用户输入姓名/生日/简介...等内容, 然后生成一份在线的简历 后来测试时遇到简历模板在Android手机跟Google浏览器上根据生日计算得出 ...
- SQL年龄计算方法
第一种方法: 用DATEDIFF函数,DATEDIFF(YEAR,beginDate,endDate). 测试语句: 1 DECLARE @birthdayDate DATE 2 DECLARE @e ...
- java与IOS之间的RSA加解密
很简单的一个需求,ipad端给密码RSA加密,传到java后台,解密.RSA加密算法是基于一个密钥对的,分为公钥和私钥,一般情况公钥加密,私钥解密,但也可私钥加密,公钥解密.还可以验签,就是先用私钥对 ...
随机推荐
- 揭秘memset与sizeof的结合使用方法
memset与sizeof为什么经常结合起来用呢? 一.memset介绍 memset函数是C++中的一个函数,它将从给定地址开始,逐个字节刷内存,初始化它们为给定的参数. 基本用法: void * ...
- dp算法之平安果路径问题c++
前文:https://www.cnblogs.com/ljy1227476113/p/9563101.html 在此基础上更新了可以看到行走路径的代码. 代码: #include <iostre ...
- beef局域网内模拟攻击
0x0环境 主机A win10:10.51.20.60(wifi) 主机A中的虚拟机kali(攻击者):192.168.110.129(NAT) 主机A中的虚拟机win2003(受害者):192.16 ...
- Apache访问验证方式
Require all granted 允许所有请求访问资源 Require all denied 拒绝所有请求访问资源 Require env env-var [env-var] ... 当指定环境 ...
- "学霸"系统Alpha版本发布说明
一.版本功能 我们的软件为学霸app,目标功能为:北航校内学子的类“知乎”应用,可以实现用户的管理.提问.回答.搜索.上传.下载以及交互:当前版本主要实现功能为:用户的管理.提问.回答已经交互. 一下 ...
- 《LINUX内核设计与实现》第三周读书笔记——第一二章
<Linux内核设计与实现>读书笔记--第一二章 20135301张忻 估算学习时间:共2小时 读书:1.5 代码:0 作业:0 博客:0.5 实际学习时间:共2.5小时 读书:2.0 代 ...
- ios UnitTest 学习笔记
一.运行第一个单元测试: 1.在Xcode 5中新建一个工程默认自带一个单元测试的文件夹,IDE自动生成了一个实现XCTestCase的.m文件,里面有一个失败测试(早期版本中实现的是SenTestC ...
- Daily Scrum - 11/16
时间:午饭 今天小组例会主要是汇报了各自的进度.任烁那边主要为工程添加了单词的类(包含各个参数等成员变量),方便以后实现算法:拜重阳实现了一个简易的“点进-点出”UI,可谓迈出了艰难的第一步:章玮和罗 ...
- ElasticSearch 2 (32) - 信息聚合系列之范围限定
ElasticSearch 2 (32) - 信息聚合系列之范围限定 摘要 到目前为止我们看到的所有聚合的例子都省略了搜索请求,完整的请求就是聚合本身. 聚合与搜索请求同时执行,但是我们需要理解一个新 ...
- 用send_keys输入文本的方法
我们使用app时,输入文字都是调用软键盘.在自动化测试中当然也可以调用软键盘,但是由于输入法设计上的差异,有时候不能达到很好的效果. 例如,搜狗拼音输入法: 选择4-咖啡,然而多打几次,输入法就把“咖 ...