NSDate

1.在程序的开发中会用到时间,Foundation架构中有一个类NSDate可以很好地包装时间,在这个类中定义了很多方便的方法来使用时间。

   // 创建一个时间对象

   NSDate *date = [NSDatedate];

  //打印出的时候是0时区的时间(北京-8区)

  NSLog(@"%@", date);

  这样直接打印的时间是此时电脑时间0时区的时间,北京在东八区,所以打印出的时间应该是此时时间加上8


2.NSDate包含了很多处理时间的类方法和对象方法

   例如下面的类方法,返回了一个时间对象5秒后的时间对象

   NSDate *date2 = [NSDatedateWithTimeInterval:5sinceDate:date];


3.下面的对象方法返回了从1970年到现在的时间间隔,单位是秒

    //1970开始走过的秒数

   NSTimeInterval seconds = [date2timeIntervalSince1970];

   在实际开发中,我们经常使用这个秒数,将这个秒数上传服务器或从服务器获取,用于记录时间,下面这个方法就是将从服务器上获取的秒数转换成一定时间格式的字符串

   + (NSString *)dateStringWithTimeStamp:(NSString *)timeStamp Format:(NSString *)format {
    
       NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Shanghai"];
    
       NSDateFormatter *formatter = [NSDateFormatter new];
       [formatter setDateStyle:NSDateFormatterMediumStyle];
       [formatter setTimeStyle:NSDateFormatterShortStyle];
       [formatter setDateFormat:format];
       [formatter setTimeZone:timeZone];
    
       NSDate *date = [NSDate dateWithTimeIntervalSince1970:[timeStamp longLongValue] / 1000];
    
       NSString *result = [formatter stringFromDate:date];
    
       return result;

   }

4.还可以为时间设置相应地格式

   //日期格式化类

   NSDateFormatter *formatter = [[NSDateFormatteralloc]init];

    // y M  d

    // m s  H24)时 h12)时

   formatter.dateFormat =@"yyyy-MM-ddHH:mm:ss";

   NSString *str = [formatterstringFromDate:date];

   NSLog(@"%@", str);

   这样打印出的时间就是相应格式的此时的时间


5.将一个特定的时间包装成NSDate对象,首先吧时间写成字符串对象

   // 09/10/2011

   NSString *time =@"2011/09/10 18:56";

   然后定义相应的时间格式

   NSDateFormatter*formatter = [[NSDateFormatteralloc]init];

   formatter.dateFormat =@"yyyy/MM/dd HH:mm";

   利用下面的对象方法将字符串对象转换车工NSDate类型

   NSDate *date =[formatterdateFromString:time];

   这样一个特定的时间就包装好了。

 

 

       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值