NSDate,NSCalendar

NSLog(@"%@",[NSDate date]);

打印结果:

2015-06-30 08:42:14 +0000

把它转换成2015年6月30日 8时42分14秒 怎么转?

   *********************** 时间转字符串*************************
1
NSDate *now = [NSDate date]; 2 NSDateFormatter *format = [[NSDateFormatter alloc]init]; 3 format.dateFormat = @"yyyy-MM-dd HH:mm:ss"; 4 NSString *nowString = [format stringFromDate:now]; 5 NSDate *newTime = [NSDate date]; 6 CGFloat delta = [newTime timeIntervalSinceDate:now]; 7 8 //NSLog(@"%@,%f",nowString,delta);
//打印结果:

         2016-03-30 18:09:18,0.001518


 

 9     
10     ********************字符串转时间*******************************
11     NSString *str = @"2015-03-30 19:33:00";
12     NSDate *nowDate = [format dateFromString:str];
13     //NSLog(@"%@",nowDate);
14     
**********************日历****************************************** 15 NSCalendar *calendar = [NSCalendar currentCalendar]; 16 //NSLog(@"%@",calendar); 17 NSCalendarUnit unit = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond; 18 NSDateComponents *components = [calendar components:unit fromDate:now toDate:nowDate options:0]; 19 NSLog(@"%@,%zd,%zd,%zd",components,components.year,components.month,components.day); 20 打印结果:

<NSDateComponents: 0x7b791630>

    Calendar Year: 0

    Month: -11

    Day: -30

    Hour: -22

    Minute: -36

    Second: -18,0,-11,-30

 **************************获取时间对应的年月等,分钟,秒什么的类似**********************************

21     NSInteger year = [calendar component:NSCalendarUnitYear fromDate:nowDate];
22     NSInteger month = [calendar component:NSCalendarUnitMonth fromDate:nowDate];
23     
24     NSLog(@"%zd,%zd",year,month);
打印结果:

2015,3

NSCalendar *calendar = [NSCalendar currentCalendar];
    NSString *oldTime = @"2014-12-31 23:59:59";
    NSString *newTime = @"2015-01-01 00:00:01";
    NSDateFormatter *format = [[NSDateFormatter alloc]init];
    format.dateFormat = @"yyyy-MM-dd HH:mm:ss";
    NSDate *oldDate = [format dateFromString:oldTime];
    NSDate *newDate = [format dateFromString:newTime];
   
    
    NSCalendarUnit unit = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;
    NSDateComponents *comp = [calendar components:unit fromDate:oldDate toDate:newDate options:0];
    
    NSLog(@"%@",comp);

打印结果:

<NSDateComponents: 0x79e9d9c0>

    Calendar Year: 0

    Month: 0

    Day: 0

    Hour: 0

    Minute: 0

    Second: 2

 

 

原文地址:https://www.cnblogs.com/yintingting/p/4548518.html