我需要用NSDate對象獲取昨天的日期。 有什麼想法?昨天用NSDate獲取objective-c
編輯:解決:
NSDate *yesterday = [NSDate dateWithTimeIntervalSinceNow:-86400];
我需要用NSDate對象獲取昨天的日期。 有什麼想法?昨天用NSDate獲取objective-c
編輯:解決:
NSDate *yesterday = [NSDate dateWithTimeIntervalSinceNow:-86400];
NSDate *yesterday = [NSDate dateWithTimeIntervalSinceNow: -(60.0f*60.0f*24.0f)];
編輯:這個解決方案是不正確的。請參閱Aadhiras回答正確的解決方案。
試試看看這個代碼。有了這樣一來,就可以得到未來幾天,接下來的幾個月,前幾天,前幾個月..
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這是一個更好的答案。如果今天或昨天是當地時間從夏令時變爲標準時間(或反之亦然)的那一天,則增加或減少86400秒可以給出錯誤答案,具體取決於您執行該操作的時間。 – progrmr
可能重複:http://stackoverflow.com/questions/4052553/find-out-if-an-nsdate今天是 - 昨天 - 明天 – 0x8badf00d
然後我會請你檢查我的答案。 – dasdom