iOS NSDate日期操作总结
获取当天0点的时间
NSCalendar *calendar = [NSCalendar currentCalendar]; NSDate *currentDate = [NSDate date]; NSDateComponents *components = [calendar components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay fromDate:currentDate]; NSDate *zeroDate = [calendar dateFromComponents:components];
获取两个日期之间的天数
/** * @method * * @brief 获取两个日期之间的天数 * @param fromDate 起始日期 * @param toDate 终止日期 * @return 总天数 */ + (NSInteger)numberOfDaysWithFromDate:(NSDate *)fromDate toDate:(NSDate *)toDate { NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; NSDateComponents *comp = [calendar components:NSCalendarUnitDay fromDate:fromDate toDate:toDate options:NSCalendarWrapComponents]; // NSLog(@" -- >> comp : %@ << --",comp); return comp.day; }
时间格式AM/PM
NSDate *date = [NSDate date]; NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; formatter.AMSymbol = @"AM"; formatter.PMSymbol = @"PM"; formatter.dateFormat = @"yyyy-MM-dd hh:mm:ss a”; // hh 是十二小时制,HH 二十四小时制 注意后面加的字母a NSString *ff = [formatter stringFromDate:date];