OC关于NSDate类的方法和应用的总结!(全)
来源:互联网 发布:网络拓扑图图标 编辑:程序博客网 时间:2024/05/28 06:07
- <span style="font-size:18px;">//1.创建日期对象
- //创建的NSDate对象,获得的永远是0时区时间,如果要是求东八区时间,就加8个小时
- NSDate *date = [NSDate date];
- NSLog(@"%@",date);
- //创建明天此时的日期(时间间隔都是以秒为单位计算的)
- NSDate *tomorrow = [NSDate dateWithTimeIntervalSinceNow:24*60*60];
- NSLog(@"%@",tomorrow);
- //创建昨天此时的日期(- 表示从现在开始向前面算起)
- NSDate *yesterday = [NSDate dateWithTimeIntervalSinceNow:-24*60*60];
- NSLog(@"%@",yesterday);
- //获取两个日期的时间间隔(timeInterval 是对双精度类型的重新定义,所以输出的时间要用%g,时间价格也是按秒来计算的)
- NSTimeInterval timeInterval = [tomorrow timeIntervalSinceDate:yesterday];
- NSLog(@"%g",timeInterval / 60 / 60 / 24);
- //比较日期的早晚
- //(1)比较两个日期中较早的日期(返回值类型为NSDate)
- NSDate *earlerDate = [yesterday earlierDate:tomorrow];
- NSLog(@"%@",earlerDate);
- //(2)比较两个日期中较晚的日期
- NSDate *laterDate = [yesterday laterDate:tomorrow];
- NSLog(@"%@",laterDate);
- //(3)比较两个日期(返回值类型为枚举类型,是拿第一个参数来减第二个参数的值,枚举值为 -1,0,1)
- NSComparisonResult result = [yesterday compare:tomorrow];
- NSLog(@"%ld",result);
- //时间间隔的练习:如果一个固定的时间到现在的时间在60秒以内,输出"刚刚",如果在"60 - 3600"输出"多少分钟前",如果在"3600 - 3600*24",输出"在多少小时前",如果在大于"3600*24"输出多少天前
- NSDate *date1 = [NSDate date];
- NSDate *date2 = [NSDate dateWithTimeIntervalSinceNow:100];
- NSTimeInterval time = [date2 timeIntervalSinceDate:date1];
- if (time > 0 && time <= 60) {
- NSLog(@"刚刚");
- }else if (time <= 3600){
- NSLog(@"%d分钟前",(int)(time / 60));
- }else if (time <= 33600 * 24){
- NSLog(@"%d小时前",(int)(time / 60 / 60));
- }else{
- NSLog(@"%d天前",(int)(time / 60 / 60 /24));
- }
- //NSDateFormatter日期格式类
- //作用:将日期以一定的格式进行转换(转换为字符串),另外也可将日期格式串转换为NSDate对象
- NSDate *date3 = [NSDate date];//创建当前的日期对象
- NSDateFormatter *formatter = [[NSDateFormatter alloc] init];//创建日期格式对象
- [formatter setDateFormat:@"yyyy-MM-dd HH:mm:SS"];//为对象设置日期的格式
- //指定日期格式
- //HH 表示24小时制 hh表示十二小时制
- //MM 表示月份 mm 表示分钟
- //dd 表示当月的天数 DD表示当天处于本年第几天
- //ss 表示秒数
- //如果年份给两个yy,则只显示年份的后两位,如果给其他个数的y,都是显示完整的年份.
- //例如:MM等 如果给两位,则月份如果是一位时,前面补0.
- [formatter setDateStyle:NSDateFormatterFullStyle];//设置日期输出的风格
- [formatter setTimeStyle:NSDateFormatterFullStyle];//设置时间输出的风格
- NSString *dateStr = [formatter stringFromDate:date3];
- NSLog(@"%@",dateStr);
- //将日期格式串转化为NSDate对象@"2008-08-08 20:08:08"
- NSString *dateStr1 = @"2008-08-08 20:08:08";
- //创建日期格式化对象
- NSDateFormatter *formatter1 = [[NSDateFormatter alloc]init];
- //设置日期格式(一定要和日期格式串中日期的格式保持一致).
- [formatter1 setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
- //将格式字符串转换为NSData对象
- NSDate *date4 = [formatter1 dateFromString:dateStr1];
- NSLog(@"%@",date4);
- </span>
0 0
- OC关于NSDate类的方法和应用的总结!(全)
- OC关于NSDate类的方法和应用的总结!(全)
- OC中的关于日期处理方法应用NSDate、NSDateFormatter
- OC学习之道:关于NSDate和NSDateFormatter类的使用
- OC语言NSString方法的总结(全)
- OC:NSDate和NSDateFormatter的知识点
- oc关于类方法和对象方法的区别
- oc中在NSdate中获取年月日的方法
- oc中在NSdate中获取年月日的方法
- NSDate实例的类方法
- NSDate类的常用方法
- NSDate和NSCalendar的简单应用
- 130,NSDate的应用
- OC NSDate 总结
- OC语言NSDate的使用以及类的扩展
- NSDate的简单总结
- OC基础知识点的总结(全),学习OC的日记
- OC基础知识点的总结(全),学习OC的日记
- 判断字符串是否为数字且至少包含一位字母
- jsonresult 超出范围
- mysql只导出表结构或数据
- 苹果APP加急申请
- 黑马视频学习笔记-数组(二)-内存细节、函数传递数组、二维数组
- OC关于NSDate类的方法和应用的总结!(全)
- 第二章构造函数语意学——关于bitwise copy semantics
- Python在Linux下调试
- CXF WebService+Spring 无法注入问题解决方法
- Spring 集成 MemCached
- JS实现密码加密
- HDU1142 A Walk Through the Forest 【SPFA】+【记忆化搜索】
- 通用宏
- 浅谈文档类的特性及应用