NSDate 的一些操作(比较创建在现有date加减一定时间等)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NSDate 的一些操作(比较创建在现有date加减一定时间等)相关的知识,希望对你有一定的参考价值。

创建当前时间

 

  1. NSDate *date = [NSDate date];  

 

 

从现在开始的24小时

        NSTimeInterval a_day = 24*60*60;

        NSDate *tomorrow = [NSDate dateWithTimeIntervalSinceNow:a_day];

根据已有日期创建日期

 

  1. NSTimeInterval a_day = 24*60*60;  
  2. NSDate *date = [NSDate date];  
  3. NSDate *tomorrow = [date addTimeInterval: date];  

 

日期比较

 

  1.       BOOL isEqual = [date isEqualToDate:tomorrow];  
  2. f(isEqual){  
  3. NSLog(@"equal");  

 

//获取较早的日期

 

  1. NSDate *earlier_date = [tomorrow earlierDate:date];  
  2.   NSLog(@"earlierDate  = %@",earlierDate);  

 

//较晚的日期

 

  1. NSDate *laterDate = [tomorrow laterDate:date];  
  2. NSLog(@"laterDate  = %@",laterDate);  

 

//两个日期之间相隔多少秒

 

  1. NSTimeInterval secondsInterval= [date timeIntervalSinceDate:tomorrow];  
  2. NSLog(@"secondsInterval=  %lf",secondsInterval);  

 

 

 //通过NSCalendar类来创建日期

 

 

  1. NSDateComponents *comps = [[NSDateComponentsalloc]init];  
  2. [comps setMonth:01];  
  3. [comps setDay:31];  
  4. [comps setYear:2013];  
  5. NSCalendar *calendar = [[NSCalendaralloc]initWithCalendarIdentifier:NSGregorianCalendar];  
  6. NSDate *date = [calendar dateFromComponents:comps];  

 

 //从已有日期获取日期

 

  1. unsigned units  = NSMonthCalendarUnit|NSDayCalendarUnit|NSYearCalendarUnit;  
  2. NSDateComponents *_comps = [calendar components:units fromDate:date];  
  3. NSInteger month = [_comps month];  
  4. NSInteger year = [_comps year];  
  5. NSInteger day = [_comps day];  
  6. //NSDateFormatter实现日期的输出  
  7. NSDateFormatter *formatter = [[NSDateFormatteralloc]init];  
  8. [formatter setDateStyle:NSDateFormatterFullStyle];//直接输出的话是机器码  
  9. //或者是手动设置样式[formatter setDateFormat:@"yyyy-mm-dd"];  
  10. NSString *dateString = [formatter stringFromDate:date];  
  11. NSLog(@"dateString = %@",dateString);  
  12. NSLog(@"formater = %@",formatter);  

 

//获取日期格式对象

 

    1. - (NSDateFormatter *)getDateFormatter {  
    2.     if (dateFormatter == nil) {  
    3.     dateFormatter = [[NSDateFormatter alloc] init];  
    4.     [dateFormatter setDateStyle:NSDateFormatterMediumStyle];  
    5.     [dateFormatter setTimeStyle:NSDateFormatterNoStyle];  
    6.     }  
    7.     return dateFormatter;  
    8. }  

以上是关于NSDate 的一些操作(比较创建在现有date加减一定时间等)的主要内容,如果未能解决你的问题,请参考以下文章

NSDate详解及获取当前时间等常用操作

objective-c calendar 日期

搜索 CoreData 以匹配 NSDate - Swift

OC基础--常用类的初步介绍与简单使用之NSDate

使用 NSDate 创建事件

从字符串创建NSDate