我需要一些帮助才能使我的静态工作...我使用核心数据来存储来自用户输入的值,并且每条“行”都有一个时间值。
现在我需要计算其中一些特定时间范围内的值,比如说过去 30 天。但我不知道该怎么做,我对使用日期和时间游侠有点陌生。
有人可以帮帮我吗?
亲切的问候,英格玛
我需要一些帮助才能使我的静态工作...我使用核心数据来存储来自用户输入的值,并且每条“行”都有一个时间值。
现在我需要计算其中一些特定时间范围内的值,比如说过去 30 天。但我不知道该怎么做,我对使用日期和时间游侠有点陌生。
有人可以帮帮我吗?
亲切的问候,英格玛
您需要使用谓词来过滤数据。
NSManagedObjectContext *context; // Assume this exists.
NSEntityDescription *entityDescription; // Assume this exists.
NSDate minDate, maxDate; // Assume these exist.
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:entityDescription];
NSPredicate *setPredicate:predicate = [NSPredicate predicateWithFormat:@"date BETWEEN %@",
[NSArray arrayWithObjects:minDate, maxDate, nil]];
[request setPredicate:predicate];
NSError *error;
NSArray *filteredResult = [context executeFetchRequest:request error:&error];
// Handle error.
[request release];
感谢您的回答。我会试试你的方法。
我自己找到了这个解决方案,有什么担心吗?
NSTimeInterval aktuellesDatumInSekunden = [aktuellesDatum timeIntervalSinceReferenceDate];
NSTimeInterval vordreissigTagen = [letztedreizigTage timeIntervalSinceReferenceDate];
double dBoluse = 0;
double dWerteKleinerSechzig = 0;
for (TblBolusWerte *ausgabeBoliTag in statistikDataWithPredicate){
NSTimeInterval DatumAusDB = [ausgabeBoliTag.creationTime timeIntervalSinceReferenceDate];
if (DatumAusDB >= vordreissigTagen && DatumAusDB <= aktuellesDatumInSekunden){