NSDateAndNSDateFormatter

  1. 时间戳:某一日期到1970年的秒数大小,称为该日期的时间戳.
  2. 获取当前的时间戳
    </pre></li><li style="border-style:none none none solid; border-left-width:3px; border-left-color:rgb(153,153,153); list-style:decimal-leading-zero outside; margin:0px!important; padding:0px 3px 0px 10px!important"><pre code_snippet_id="448895" snippet_file_name="blog_20140812_1_5055704" name="code" class="objc">//获取当前日期的时间戳
    NSDate *date2 = [NSDate date];
    NSTimeInterval time1970 = [date2 timeIntervalSince1970 ];
    NSLog(@"time1970 = %f", time1970);


     
  3. NSDate是Cocoa中用于处理日期和时间的基础类,封装了某一给定的时刻,具体日期时间和时区。  
    无论你是哪个时区的时间,打印时总是打印对应的时区对应的0时区时间。  
    例如:NSDate *nowDate = [NSDate date]; </span>
      NSDateFormatter 的使用  
  4. <span style="font-size:18px;">  
     NSDateFormatter是iOS中的日期格式类,主要功能是实现代表日期  
    常见的时间格式化字符串有以下一些:y年。M年中的月份 d月份中的天数。H 一天中的小时数(0-23)h  am / pm中的小时数(1-12)m小时中的分钟数s分钟中的秒数。  
      
    指定日期格式  
    NSDateFromatter  *formatter = [NSDateFormatter alloc] init];  
    [formatter setDateFormat:@“yyyy-MM-dd HH:mm:ss”];  
    类目  
    Category 也叫分类 或类目  
    主要作用是为没有源代码的类添加方法,  
    通过Category添加的方法会成为原类的一部分。从而达到扩展一个类的功能。</span>
  5. 实战演练:
  6.        //1.创建日期对象
            //创建的NSDate对象,获得的永远是0时区的时间.东八区,加八个小时.
            NSDate *date1 = [NSDate date];
            NSLog(@"%@", date1);
            //2.创建明天此时的日期
            //时间间隔是以秒为单位
            NSDate *tomorrowDate = [NSDate dateWithTimeIntervalSinceNow:24 * 60 *60];
            NSLog(@"%@", tomorrowDate);
            //创建昨天此时的日期
            NSDate *yesterdayDate = [NSDate dateWithTimeIntervalSinceNow:- 24 * 60 * 60];
            NSLog(@"%@", yesterdayDate);
            //获取两个日期的时间间隔
            //(tomorrowDate, yesterdayDate)
            NSTimeInterval timeInterval1 = [tomorrowDate timeIntervalSinceDate:yesterdayDate];
            NSLog(@"%f", timeInterval1 / 60 / 60 / 24);
            NSTimeInterval timeInterval2 = [yesterdayDate timeIntervalSinceDate:tomorrowDate];
            NSLog(@"%f", timeInterval2 / 60 / 60 / 24);
            
            //比较日期的早晚
            //(1)获得两个日期中较早的日期
            NSDate *earlierDate = [tomorrowDate earlierDate:yesterdayDate];
            NSLog(@"%@", earlierDate);
            //(2)获得两个日期中较晚的日期
            NSDate *laterDate = [tomorrowDate laterDate:yesterdayDate];
            NSLog(@"%@", laterDate);
            //(3)两个日期比较
            NSComparisonResult result = [tomorrowDate compare:yesterdayDate];
            NSLog(@"%ld", result);
            
            
            //练习一
            //1.当前时间
            NSDate *date1 = [NSDate date];
            //2.固定时间
            NSDate *date2 = [NSDate dateWithTimeInterval:68 sinceDate:date1];
            //3.获取两个时间的间隔
            NSTimeInterval timeInterval = [date2 timeIntervalSinceDate:date1];
            //4.判断
            if (timeInterval < 60) {
                NSLog(@"刚刚");
            }else if (timeInterval < 3600){
                NSLog(@"%d分钟之前", (int)(timeInterval / 60));
            }else if(timeInterval < 3600 * 24){
                NSLog(@"%d小时之前", (int)(timeInterval /60 / 60));
            }else{
                NSLog(@"%d几天前", (int)(timeInterval / 60 / 60 / 24));
            }
            
            //NSDateFormatter  是一个日期格式类, 将日期以一定的格式进行转换,(原理,转换成字符串). 另外也可将日期格式串转为NSDate对象
            
            NSDate *date1 = [NSDate date];
            //创建日期格式类对象
            NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
            //指定日期格式
            //  hh  表示12小时制   HH  表示24小时制
            //  mm  表示分钟   MM  表示月份
            //  DD  表示当前日期在本年中的第几天
            //  ss  表示秒数
            // 如果年份为两个y 只显示年份的后两位, 如果给其他个数的y.都是显示完整的年份
            // 例如:MM  如果给两位.则月份如果是一位时, 前面补0;
            [formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
            
            //设置日期的格式
            [formatter setDateStyle:NSDateFormatterFullStyle];
            [formatter setDateStyle:NSDateFormatterLongStyle];
            [formatter setDateStyle:NSDateFormatterMediumStyle];
            [formatter setDateStyle:NSDateFormatterNoStyle];
            [formatter setDateStyle:NSDateFormatterShortStyle];
            //设置时间的格式
            [formatter setTimeStyle:NSDateFormatterFullStyle];
            [formatter setTimeStyle:NSDateFormatterLongStyle];
            [formatter setTimeStyle:NSDateFormatterMediumStyle];
            [formatter setTimeStyle:NSDateFormatterNoStyle];
            [formatter setTimeStyle:NSDateFormatterShortStyle];
            //将日期按照指定的格式转换为日期格式串
            NSString *dateStr = [formatter stringFromDate:date1];
            NSLog(@"%@", dateStr);
            
            //将日期格式串转换为NSDate对象
            //@"2008-08-08 20:08:08"
            NSString *dateStr = @"2008-08-08 20:08:08";
            //创建日期格式化对象
            NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
            //设置日期格式(一定要和日期格式串中日期的格式保持一致)
            [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
            //将格式字符串转化为NSDate对象
            NSDate *date = [formatter dateFromString:dateStr];
            NSLog(@"%@", date);


     

你可能感兴趣的:(NSDate,NSDateFormatt)