日期和时间

获取当前的日期和时间

NSDate *date = [NSDate date];
// 当前系统的时区
NSTimeZone *zone = [NSTimeZone systemTimeZone];
NSInteger interval = [zone secondsFromGMTForDate:date];
NSDate *localDate = [date dateByAddingTimeInterval:interval];

NSString 转 NSDate

// 日期格式化类
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
// 指定日期格式
dateFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
NSDate *date = [dateFormatter dateFromString:@"2016-04-08 00:51:18"];

时间比较

// 当前时间
  NSDate *now = [NSDate date];
  // 单位:秒
  NSTimeInterval delta = [date timeIntervalSinceDate:now];

NSCalendar获取时间的使用方法一:

// 日历
NSCalendar *calendar = [NSCalendar currentCalendar];
// 获取当前年
NSInteger year = [calendar component:NSCalendarUnitYear fromDate:[NSDate date]];
// 获取当前月
NSInteger month = [calendar component:NSCalendarUnitMonth fromDate:[NSDate date]];
// 获取当前日
NSInteger day = [calendar component:NSCalendarUnitDay fromDate:[NSDate date]];

NSCalendar获取时间的使用方法二:

// 日历
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *cmps = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:[NSDate date]];

NSCalendar比较时间

// 日历
NSCalendar *calendar = [NSCalendar currentCalendar];
NSCalendarUnit unit = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;
NSDateComponents *cmps = [calendar components:unit fromDate:[NSDate date] toDate:[NSDate dateWithTimeIntervalSinceNow:232] options:0];