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];
	if(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;
}


你可能感兴趣的:(ios)