OC学习 第十三章 NSDate、NSData常用方法

OC学习       第十三章           NSDate、NSData常用方法

一、NSDate常用方法:
1.获取当前时间:
               NSDate *date = [[NSDatealloc]init];
               NSLog(@"date = %@",date);
2.获取当前时间过一段时间后的时间:
NSDate *date1 = [NSDate dateWithTimeIntervalSinceNow:-120];
        NSLog(@"date1 = %@",date1);
3.从1970年开始经过一段时间后的时间:
NSDate *date2 = [NSDate dateWithTimeIntervalSince1970:1800];
        NSLog(@"date2 = %@",date2);
4.从指定时间开始经过一段时间后的时间:
NSDate *date3 = [date dateByAddingTimeInterval:1800];
        NSLog(@"date3 = %@",date3);
5. 获取某个时间到现在两个时间的差
NSTimeInterval time = [[NSDate date]timeIntervalSinceDate:date1];
        NSLog(@"时间差%f",time);
6.获取两个给定时间的时间差
NSDate *date4 = [NSDate dateWithTimeIntervalSince1970:1860];
        NSLog(@"date4 = %@",date4);
        NSTimeInterval time2 = [date4 timeIntervalSinceDate:date2];
        NSLog(@"%f",time2);
7.日期对象转化为字符串:
 NSDateFormatter *formmat = [[NSDateFormatter alloc]init];//初始化一个日期格式。
        [formmat setDateFormat:@"yyyyMMddHHmmss"];//设置日期格式
        NSString *str1 = [formmat stringFromDate:date4];//导入日期。
        NSLog(@"%@",str1);
8.字符串转化为日期对象:
        NSString *str2 = @"2015-11-12 11:11:11";
        NSDateFormatter *fo = [[NSDateFormatter alloc]init];
        [fo setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
        NSDate *date5 = [fo dateFromString:str2];
        NSLog(@"%@",date5)
9.获取系统时区: NSTimeZone *zone = [NSTimeZone systemTimeZone];
                       NSLog(@"%@",zone);
10.系统时区缩写: NSString *str = [zone abbreviation];
                      NSLog(@"%@",str);
11.获取当地时区: NSTimeZone *localZone = [NSTimeZone localTimeZone];
                         NSLog(@"%@",localZone)
12.和格林尼治时间差: NSInteger timeoff = [zone secondsFromGMT];
                         NSLog(@"%zi",timeoff);
13.时差转化: date = [date dateByAddingTimeInterval:timeoff];
                      NSLog(@"%@",date);
二、字符串转化为日期时有时差解决方法(三种)
1.                 NSString *str1 = @"2015/11/11 11:11:11";
        NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
      [formatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];(设置时区方法1)
        [formatter setDateFormat:@"yyyy/MM/dd HH:mm:ss"];
        NSDate *date1 = [formatter dateFromString:str1];
        NSLog(@"%@",date1);
2.      
        NSString *str1 = @"2015/11/11 11:11:11";
        NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
        [formatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];(设置时区方法2)
        [formatter setDateFormat:@"yyyy/MM/dd HH:mm:ss"];
        NSDate *date1 = [formatter dateFromString:str1];
        NSLog(@"%@",date1);
        以上两种基本相同,只不过设置时区方法不同。
3.利用timeoff转化
三、NSData常用方法:
NSData:用来存储二进制数据类型。Cocoa实现缓冲区存储
                  NSString *str = @"1234";
        NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];//不可变
        //将字符串转换陈dataNSUTF8StringEncoding代表编码格式。
        NSString *str1 = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];//data转化为data
        NSLog(@"%zi",data.length);//数据长度
        NSData *data1 = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"www.。。。。。"]];//获取网络数据
        NSMutableData *data2 = [NSMutableData data];//创建一个空的数据;
        [data2 appendData:data];//拼接data

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OC统计load的耗时主要是通过计算开始加载数据的时间和加载完成的时间之间的差值来得到的。在OC中,我们可以使用NSFileManager和NSURLSession等类来实现load的操作并计算其耗时。 首先,我们可以使用NSFileManager的`defaultManager`方法来获取一个文件管理器实例。然后,使用文件管理器的`fileExistsAtPath:`方法可以判断要加载的文件是否存在。这个方法返回一个布尔值,若为真则文件存在,否则不存在。 接下来,我们可以使用NSURLSession的相关类和方法来加载数据。通过创建一个NSURLSession实例,并使用NSURLSessionDataTask的`dataTaskWithURL:completionHandler:`方法来创建一个数据任务,该任务用于从指定的URL地址异步加载数据。然后,可以使用`resume`方法来开始执行任务。当任务完成后,会调用completionHandler中的回调函数,在回调函数内部可以计算加载耗时。 在回调函数中,我们可以使用NSDate类来记录加载完成的时间,并用该时间减去开始加载的时间,就可以得到加载耗时。可以使用NSDate的`date`方法来获取当前时间,然后使用`timeIntervalSinceDate:`方法计算时间差。 最后,我们可以将加载耗时以统计数据的方式保存或显示出来。可以使用NSLog来输出到控制台,也可以使用UILabel或其他UI组件来在界面上展示。 综上所述,以上是使用OC统计load的耗时的基本步骤。具体实现还需根据具体的场景和需求来确定具体的代码逻辑。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值