我需要使用NSDate对象获取昨天的日期。 有什么想法吗?
编辑:已解决:
NSDate *yesterday = [NSDate dateWithTimeIntervalSinceNow:-86400];
答案 0 :(得分:45)
试试这段代码。通过这种方式,您可以获得下一天,下个月,前几天,前几个月..
NSDate *now = [NSDate date];
int daysToAdd = -1;
// set up date components
NSDateComponents *components = [[[NSDateComponents alloc] init] autorelease];
[components setDay:daysToAdd];
// create a calendar
NSCalendar *gregorian = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
NSDate *yesterday = [gregorian dateByAddingComponents:components toDate:now options:0];
NSLog(@"Yesterday: %@", yesterday);
[gregorian release];
答案 1 :(得分:9)
NSDate *yesterday = [NSDate dateWithTimeIntervalSinceNow: -(60.0f*60.0f*24.0f)];
编辑:此解决方案不正确。请参阅Aadhiras答案以获得正确的解决方案。