NSData与NSDate

NSData/NSMutablaDate

1.计算机中文件分为几种?

文本文件和二进制文件,其中我们图片、歌曲、电影、就是二进制文件,像`.txt`的文件就是文本文件。

2.客户端与服务器端,或者客户端与客户端交流的格式为二进制,我们在传输给客户端数据,OC中用NSData类来存储,由实例化的对象,此对象中包含大量的字节,这些字节就是我们客户端想要的信息。

NSData

NSData创建

        NSString *string = @"你好吗?";
        //将字符串转换成NSData
        //将字符串转换成C语言的字符串
        const char *str = [string UTF8String];
        //将C语言的字符串转换成data
        NSData *data1 = [NSData dataWithBytes:str length:strlen(str)];
        NSLog(@"data1 = %@",data1);
        //直接将OC中字符串转换成data
        NSData *data2 = [string dataUsingEncoding:4];
        NSLog(@"@data2 = %@",data2);

        //将本地文件中的数据转换成data
        NSData *data3 = [NSData dataWithContentsOfFile:@"/Users/ibokan2/Desktop/1.jpg"];
        NSLog(@"data3 = %@",data3);

        //将网络文件转换转换为data
        NSData *data4 = [NSData dataWithContentsOfURL:[NSURL URLWithString:@""]];

        BOOL flag = [data3 writeToFile:@"/Users/ibokan2/Desktop/2.png" atomically:YES] ;
        if (flag) {
            NSLog(@"下载成功");
        }
        NSUInteger length = data3.length;
        NSLog(@"%lu",(unsigned long)length);

NSMutableData

        //NSMutableData
        //创建一个空的可变data
        NSMutableData *mdata = [NSMutableData data];

        //增加
        [mdata appendData:data1];

NSDate

在OC中,Foundation框架为我们提供了强大的时间操作类NSDate,该类封装了各种时间和日期的API

1.构造一个时间类

        //获取系统当前时间
        NSDate *date1 = [NSDate date];
        NSLog(@"date = %@",date1);
        //当前系统时间+100s;
        NSDate *date2 = [NSDate dateWithTimeIntervalSinceNow:100];
        NSLog(@"date2 = %@",date2);
        NSDate *date3 = [NSDate dateWithTimeIntervalSince1970:100];
        NSLog(@"date3 = %@",date3);
        //
        NSDate *date4 = [NSDate dateWithTimeInterval:100 sinceDate:date1];
        NSLog(@"date4 = %@",date4);

2.关于时间戳

        //将一个时间转换成时间戳
        NSTimeInterval timeInterval = [[NSDate date]timeIntervalSince1970];
        NSLog(@"timeInterval = %f",timeInterval);

        NSTimeInterval timeIntervalNow = [[NSDate date]timeIntervalSinceNow];
        NSLog(@"timeInterval = %f",timeIntervalNow);

3.将NSDate转换为NSString

        NSDateFormatter *dateFormatter = [NSDateFormatter new];
        //设置时区(默认时区)
        dateFormatter.timeZone = [NSTimeZone defaultTimeZone];
        //设置时间输出格式
        [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss ms"];
        NSString *string1 = [dateFormatter stringFromDate:[NSDate date]];
        NSLog(@"string1 = %@",string1);

4.NSString转换为NSDate

        [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
        NSDate *date = [dateFormatter dateFromString:@"2015-07-31 15:41:42"];
        NSLog(@"date = %@",date);
        NSTimeInterval timeInterval1 = date.timeIntervalSinceNow;
        NSLog(@"距今已经%f",timeInterval1);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值