NSDate 的一些操作
创建当前时间
NSDate *date = [NSDate date];
从现在开始的24小时
NSTimeInterval a_day = 24*60*60; NSDate *tomorrow = [NSDate dateWithTimeIntervalSinceNow:a_day];
根据已有日期创建日期
NSTimeInterval a_day = 24*60*60; NSDate *date = [NSDate date]; NSDate *tomorrow = [date addTimeInterval: date];
日期比较
BOOL isEqual = [date isEqualToDate:tomorrow]; f(isEqual){ NSLog(@"equal");
//获取较早的日期
NSDate *earlier_date = [tomorrow earlierDate:date]; NSLog(@"earlierDate = %@",earlierDate);
//较晚的日期
NSDate *laterDate = [tomorrow laterDate:date]; NSLog(@"laterDate = %@",laterDate);
//两个日期之间相隔多少秒
NSTimeInterval secondsInterval= [date timeIntervalSinceDate:tomorrow]; NSLog(@"secondsInterval= %lf",secondsInterval);
//通过NSCalendar类来创建日期
NSDateComponents *comps = [[NSDateComponentsalloc]init]; [comps setMonth:01]; [comps setDay:31]; [comps setYear:2013]; NSCalendar *calendar = [[NSCalendaralloc]initWithCalendarIdentifier:NSGregorianCalendar]; NSDate *date = [calendar dateFromComponents:comps];
//从已有日期获取日期
unsigned units = NSMonthCalendarUnit|NSDayCalendarUnit|NSYearCalendarUnit; NSDateComponents *_comps = [calendar components:units fromDate:date]; NSInteger month = [_comps month]; NSInteger year = [_comps year]; NSInteger day = [_comps day]; //NSDateFormatter实现日期的输出 NSDateFormatter *formatter = [[NSDateFormatteralloc]init]; [formatter setDateStyle:NSDateFormatterFullStyle];//直接输出的话是机器码 //或者是手动设置样式[formatter setDateFormat:@"yyyy-mm-dd"]; NSString *dateString = [formatter stringFromDate:date]; NSLog(@"dateString = %@",dateString); NSLog(@"formater = %@",formatter);
//获取日期格式对象
- (NSDateFormatter *)getDateFormatter { if (dateFormatter == nil) { dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateStyle:NSDateFormatterMediumStyle]; [dateFormatter setTimeStyle:NSDateFormatterNoStyle]; } return dateFormatter; }