OC学习 -- NSDate和NSDateFormatter

#pragma mark - NSDate  日期类
 {
     //获取当前的时间
        NSDate *date = [NSDate date];
        NSLog(@"%@",date);
        //获取东八区的当前时间
        NSDate *now = [NSDate dateWithTimeIntervalSinceNow:8 * 60 * 60];
        NSLog(@"%@",now);
        //获取东八区 昨天的时间
        NSDate *yesterday = [NSDate dateWithTimeInterval:-24 * 60 * 60 sinceDate:now];
        NSLog(@"%@",yesterday);
        //获取时间间隔
        //NSTimeInterval 其实就是double 只不过专门用来表示时间间隔  单位: 秒
        NSTimeInterval timeInterVal = [yesterday timeIntervalSinceDate:now];
        NSLog(@"%.2fh",timeInterVal*(-1)/60/60);
}

#pragma mark -- NSDateFormatter  日期格式类
        NSDate *date = [NSDate date];
        //1. 创建日期格式类的对象
        NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
        //2 设置当前的时区
     //   [formatter setTimeZone:[NSTimeZone localTimeZone]];
        //3 设置日期的风格
        [formatter setDateStyle:(NSDateFormatterShortStyle)];
        //4 设置时间的风格
        [formatter setTimeStyle:(NSDateFormatterShortStyle)];
        //5 使用设置好的格式 进行转化  通过Date转换成字符串
        NSString *dateStr = [formatter stringFromDate:date];
        NSLog(@"%@",dateStr);
        
//** 自定义日期格式对象
        //1 创建日期格式对象
        NSDateFormatter *myFormatter = [[NSDateFormatter alloc]init];
        //自定义格式//yyyy代表年  MM代表月 hh(HH)代表时,十二小时制(24小时制) mm代表分钟 ss代表秒
        [myFormatter setDateFormat:(@"GGGG yyyy年MM月dd日 hh:mm:ss OOOO")];
        //3 转换
        NSString *dateStr2 = [myFormatter stringFromDate:date];
        NSLog(@"%@",dateStr2);
        
        
//** 使用日期格式类 将日期字符串转化为日期对象
        //2008-08-08 20:08:08
        NSString *dateStr3 = @"2008-08-08 20:08:08";
        //1.创建日期格式对象
        NSDateFormatter *formatter2 = [[NSDateFormatter alloc]init];
        [formatter2 setDateFormat:@"yyyy-MM-dddd HH:mm:ss"];
        //转化
        NSDate *date1 = [formatter2 dateFromString:dateStr3];
        NSLog(@"%@",date1);

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