iOS开发学习中iOS时间处理
来源:互联网 发布:如何登录淘宝子账号 编辑:程序博客网 时间:2024/06/05 20:30
在iOS开发中,有很多问题是经常遇到的,比如时间的处理就是其中一个,在开发的时候,这个问题是经常会遇到的。但是一般情况下会有获取具体时间的年月日和星期,但是这是两个不同的时间差,某天的前一天或者某天的后一天等等,下面只针对获取具体时间的年月日和星期,以及某天的其一天或者某天的后一天简单的介绍一下方法。
处理时间的问题一般会用NSDate类和NSCalendar类两个类;
获取当前的时间是:NSDate *nowDate = [NSDate date];获取具体的年月日就是对nowDate的处理;一般要用到NSCalendar类,首先是对NSCalendar的声明,再就是属性的设置, 其中属性[calendar components:(...)];很重要;设置了属性就可以根据方法获取年月日,如int nowYear = [comps year];
iOS开发学习中遇到的时间处理
获取星期要先获取int nowWeek = [comps weekday];再对nowweek的值进行判断,值是从1到7,分别对应的星期是从星期天到星期六。
代码如下:
NSDate *nowDate = [NSDate date]; //这是当前的时间,其实这里可以是任意时间
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *comps;
comps = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSWeekdayCalendarUnit) fromDate:nowDate];
int nowYear = [comps year];
int nowMonth = [comps month];
int nowDay = [comps day];
int nowWeek = [comps weekday];
NSString *weekStr = [[NSString alloc] init];
switch (nowWeek) {
case 1:
weekStr = @"星期天";
break;
case 2:
weekStr = @"星期一";
break;
case 3:
weekStr = @"星期二";
break;
case 4:
weekStr = @"星期三";
break;
case 5:
weekStr = @"星期四";
break;
case 6:
weekStr = @"星期五";
break;
case 7:
weekStr = @"星期六";
break;
default:
break;
}
NSLog(@"年:%d;月:%d;日:%d;%@",nowYear,nowMonth,nowDay,weekStr);
某天的前一天或后天的方法:
这里要用到的是NSCalendar,首先也是设置属性,和上面一样;用到最主要的方法是[comps setHour:+24];+24表示获取下一天,-24表示获取前一天;还有[comps setMinute:0]和[comps setSecond:0]都要;
最后将calendar转换成NSdate;方法如下:
NSDate *nowDate = [calendar dateByAddingComponents:comps toDate:showDate options:0]; //showDate表示某天的date,nowDate表示showDate的前一天或下一天的date
代码如下:
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *comps;
comps = [calendar components:(NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit) fromDate:[[NSDate alloc] init]];
[comps setHour:+24]; //+24表示获取下一天的date,-24表示获取前一天的date;
[comps setMinute:0];
[comps setSecond:0];
NSDate *nowDate = [calendar dateByAddingComponents:comps toDate:showDate options:0]; //showDate表示某天的date,nowDate表示showDate的前一天或下一天的date
上面就是针对iOS开发学习中遇到的问题进行了一个简单的介绍,希望对有星期学习iOS开发的朋友有一定的帮助,如若有不足或者不对的地方,还请大家多多指教,一起学习一起进步,有更好的方法也可以提出来大家一起分享。想学习更多iOS开发方面的知识可以参加无限互联iOS开发培训.
- iOS开发学习中iOS时间处理
- iOS学习应用开发就业课_004:UIButton时间处理
- iOS开发:日期与时间的处理
- iOS中处理时间的类
- iOS中处理时间的类
- 【IOS移动开发技术】iOS软件开发中关于屏幕旋转处理相关的学习笔记
- IOS时间处理
- IOS时间处理
- ios时间时区处理
- iOS 时间处理
- iOS开发中时间格式的转化
- IOS GCD开发学习中
- ios开发中常见的并行处理
- IOS-开发中手势的处理
- iOS开发中两个常见问题的处理
- iOS开发中两个常见问题的处理
- iOS开发中常见的并行处理
- iOS开发中<null>的处理
- windows与linux下sigar的系统依赖文件配置
- javascript与运算||
- nyoj 55懒省事的小明
- [LeetCode]36.Valid Sudoku
- Android之蓝牙驱动开发总结
- iOS开发学习中iOS时间处理
- 尚未安装 .NET Framework 4 Client Profile,原因是:HRESULT 0xc8000222,和windows update有关系
- 企业版IDP的申请及“In House”发布
- 局域网用户的限制和反限制技巧
- android 单元测试cmd 命令集
- 优先队列priority_queue 用法详解
- windows server 2008 VPN搭建
- win7下搭建SVN服务器
- UML之类图