Objective-C NSDate的使用



1.NSDate的介绍和使用
  NSDate可以用来表示时间
  [NSDate date];返回的就是当前时间


  //创建一个日期时间对象,默认是格林威治标准时间
  NSDate *date1 = [NSDate date];
  //北京是东8区  用date1 加上 8 就是北京时间
  NSLog(@"%@",date1);
  
  NSTimeZone *zone = [NSTimeZone systemTimeZone];
  
   
2.格式化日期
  NSDate *date = [NSDate date];
  NSLog(@"%@",date);
  
  NSDateFormatter *formatter = [NSDateFormatter new];
  //设置日期的显示格式
  // yyyy     表示四位的年
  // MM       表示两位的月份
  // dd       表示两位的天数
  // HH       表示24小时制的小时  小写hh  表示12小时制
  // mm       表示两位的分钟数
  // ss       表示两位的秒数
  formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
  NSString *strDate = [formatter stringFromDate:date];
  NSLog(@"%@",strDate);
  
  //简写
  [([NSDateFormatter new].dateFormat = @"yyyy-MM-dd HH:mm:ss") stringFromDate:date];
  


3.计算日期
  
  NSDateFormatter *formatter = [NSDateFormatter new];
  formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
  
  //计算明天的此刻
  NSTimeInterval t = 60 * 60 * 24;//一天的秒数
  NSDate *tom = [NSDate dateWithTimeIntervalSinceNow:t];
  NSString *timeStr = [formatter stringFromDate:tom];  


  //计算昨天的时间
  NSDate *yesterday = [NSDate date];
  NSDate *zt = [yesterday addTimeInteval: -t];
  NSString *str = [formatter stringFromDate];






4.日期时间对象
  只想获取日期的年 或 月 或 日 或 时 或 分 或秒
  
  NSCalendar 日期类
  
  NSDate *d = [NSDate date];
  //获得一个日期类对象
  NSCalendar *calendar = [NSCalendar currentCalendar];
  //NSCalendarUnit 是一个日期的单元值
  
  NSDateComponents *coms = [calendar components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay fromDate:d]:
  NSLog(@"year:%ld ,month:%ld, day:%ld",coms.year,coms.month,coms.day);
  
  
  
  
  
5. 比较两个时间的时间差
   
   NSString *time1 = @"2015-08-01 20:50:00";
   NSString *time2 = @"2015-08-18 05:00:52";
   
   NSDateFormatter *formatter = [NSDateFormatter new];
   formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
   
   NSDate *date1 = [formatter dateFromString:time1];
   NSDate *date2 = [formatter dateFromString:time2];
   
   NSCalendar *calendar = [NSCalendar currentCalendar];
   
   int unit = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;
   NSDateComponents *ndc = [calendar components:unit fromDate:date2 toDate:date1 option:0];
   
   NSLog(@"相差%ld年%ld月%ld日 %ld时%ld分%ld秒",ndc.year,ndc.month,ndc.day,ndc.hour,ndc.minute,ndc.second);
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值