所以在我的应用程序中我想减去两个日期。第一个日期是设置日期,第二个日期是当前日期。所以我尝试了这段代码:
NSString *setDateString = [NSString stringWithFormat:@"12:30"];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSDate *setDate = [dateFormatter dateFromString:setDateString];
NSTimeInterval interval = [[NSDate date] timeIntervalSinceDate:setDate];
但它计算从1970年开始的时间间隔。但我需要从当天开始。有人可以帮忙吗?
答案 0 :(得分:0)
我认为你想要现在和今天1230小时之间的差异。这可以通过
来完成NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *components =[gregorian components:(NSDayCalendarUnit|NSYearCalendarUnit|NSMonthCalendarUnit) fromDate:today];
[components setHour:12];
[components setMinute:30];
[components setSecond:0];
NSDate *setDate=[gregorian dateFromComponents:components];
NSTimeInterval interval = [[NSDate date] timeIntervalSinceDate:setDate];
[gregorian release];
它不适合您的原因是您没有正确地给出格式。或者,您可以在setDateString
中通过指定所有组件而不仅仅是小时和分钟来正确描述它。