Object-C中对时间的处理
来源:互联网 发布:记工时的软件 编辑:程序博客网 时间:2024/05/16 06:45
一般有获取具体的年月日和星期,两个不同时间的差,某一天的前一天或后一天等;在这里我只介绍获取具体的年月日和星期,及某一天的前一天或后一天的方法;
对时间的处理一般都会用到NSDate类和NSCalendar类两个类;
获取当前的时间是:NSDate *nowDate = [NSDate date];获取具体的年月日就是对nowDate的处理;一般要用到NSCalendar类,首先是对NSCalendar的声明,再就是属性的设置,其中属性[calendar components:(...)];很重要;设置了属性就可以根据方法获取年月日,如int nowYear = [comps year];
获取星期要先获取int nowWeek = [comps weekday];再对nowweek的值进行判断,值是从1到7,分别对应的星期是从星期天到星期六。
代码如下:
NSDate *nowDate = [NSDatedate]; //这是当前的时间,其实这里可以是任意时间 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,首先也是设置属性,和上面一样;用到最主要的方法是[compssetHour:+24];+24表示获取下一天,-24表示获取前一天;还有[comps setMinute:0]和[comps setSecond:0]都要;
最后将calendar转换成NSdate;方法如下:
NSDate *nowDate = [calendar dateByAddingComponents:comps toDate:showDateoptions:0]; //showDate表示某天的date,nowDate表示showDate的前一天或下一天的date
代码如下:
NSCalendar *calendar = [NSCalendarcurrentCalendar]; 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:compstoDate:showDate options:0]; //showDate表示某天的date,nowDate表示showDate的前一天或下一天的date
0 0
- Object-C中对时间的处理
- C程序中对时间的处理
- C语言中对时间和日期的处理
- C语言中对时间和日期的处理
- C语言中对时间和日期的处理
- ASP.Net中对时间的处理
- ASP.Net中对时间的处理
- ORACL中对时间格式的处理
- Java中对时间、日期的处理
- PHP,MySQL中对时间的处理
- 对json中时间格式的处理
- Linux 中对时间的处理
- object-c时间与日期处理
- C程序中对时间的处理——time库函数详解
- C程序中对时间的处理——time库函数详解<转>
- C程序中对时间的处理——time库函数详解
- C程序中对时间的处理——time库函数详解<转>
- C程序中对时间的处理——time库函数详解
- 计算时间复杂度 -- 写程序需瞻前顾后
- 高精度计算问题中使用double失败的原因
- Xcode 升級後,常常遇到的遇到的警告、錯誤,解決方法
- A. A and B and Chess
- 32位/64位机上常用数据类型字节数(C语言)
- Object-C中对时间的处理
- 【学习笔记】"ListView滑动删除 ,仿腾讯QQ"(三)
- iOS XCode快捷键使用
- Arduino 在amd64 win8.1上驱动安装失败的解决办法
- java 代码块
- 有向图强连通分量的Tarjan算法
- 计算机网络之局域网
- ZOJ题目分类
- 缺的就是一股傻劲~