iOS知识的学习总结--NSDate

在项目开发中NSDate数据也是我们很常遇到的处理操作,那么常见的处理操作就在这里做个小结。

1.NSDate的创建方式

  1. 通过当前时间创建NSDate对象
    1     NSDate *myDate = [NSDate date];
    2     NSLog(@"myDate = %@",myDate);

     

  2. 从当前的时间开始创建
    1     //从现在加减一个秒数值获取新的时间
    2     NSTimeInterval secondsPerDay = 24*60*60;
    3     NSDate *tomorrow = [NSDate dateWithTimeIntervalSinceNow:secondsPerDay];
    4     NSLog(@"myDate = %@",tomorrow);

     

  3. 根据已有日期创建日期
    //根据已有日期创建日期
        NSTimeInterval seconds = 2*24*60*60;
        
        //获取当前时间
        NSDate *now = [NSDate date];
        
        //在当前时间添加一个秒数值获取新的日期
        NSDate *yesterDay = [now addTimeInterval:-seconds];
        
        NSLog(@"yesterDay = %@",yesterDay);

     

  4. 通过NSCALENDAR(日期)类来创建日期

    //通过NSCALENDAR(日期)类来创建日期
        NSDateComponents *comp = [[NSDateComponents alloc]init];
        
        [comp setMonth:06];
        [comp setDay:01];
        
        [comp setYear:2001];
        NSCalendar *myCal = [[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];
        
        NSDate *myDate1 = [myCal dateFromComponents:comp];
        
        NSLog(@"myDate1 = %@",myDate1);

     

2.NSDateFormatter实现日期的输出

  1. NSDateFormatter的格式介绍
        //EEEE为星期几,EEE为周几  
        [dateFormatter setDateFormat:@"yyyy年MM月dd日#EEEE"];
        //MMMM 为xx月,一个d可以省去01日前的0  HH代表24时制 
        [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
       

     

  2. NSDateFormatter配合NSDate与NSString之间的转化
        //    - (NSString *)stringFromDate:(NSDate *)date;//NSDate转NSString
    //    - (NSDate *)dateFromString:(NSString *)string;//NSString转NSDate
        
        NSString *dateStr=@"2016-01-01";
        
        //创建NSDateFormatter对象
        NSDateFormatter *dateFormatter=[[NSDateFormatter alloc]init];
        
        //设置日期格式
        [dateFormatter setDateFormat:@"yyyy-MM-dd"];
        
        //转换
        NSDate *date=[dateFormatter dateFromString:dateStr];
        
        NSLog(@"date-->%@",date);

     

  3. 比较两个时间段间隔了多少秒
        NSTimeInterval mySeconds= [yesterDay timeIntervalSinceDate:now];
        
        NSLog(@"secondsBetweenDates=  %lf",mySeconds);

     

posted @ 2016-03-04 00:04  愤怒的芒果丶  阅读(84)  评论(0)    收藏  举报