NSDate 的一些操作(比较、创建、在现有date加减一定时间等)
创建当前时间
- 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;
- }