2010-03-04 41 views
0

我有一个时间表的数据列表。每个项目都有它发生的时间。我想要检测当前的日期和时间,然后显示在此期间可用的项目。我真正知道的是如何获得今天的日期和时间,并且我需要创建一种方法来查看我的数据中当前正在“正在播放”的内容。有什么建议么?如何检测星期几和时间,然后根据当前日期和时间在tableview中显示数据?

+0

OP说:'我如何检测星期几和时间'和OP说:'我真正知道的是如何得到今天的日期和时间'? – 2010-03-04 19:25:15

回答

2

通过假设你的日程安排项目被存储在一个NSArray称为scheduleItems,这些项目有一个date属性,你可以用谓词进行筛选:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"date == %@", 
          [NSDate date]]; 
NSArray *todaysItems = [scheduleItems filteredArrayUsingPredicate:predicate]; 

的问题是,这会给你一切项目的日期恰好是现在。您可能想要比较某个范围中的日期:

NSDate *today = ...; 
NSDate *tomorrow = ...; 
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"date BETWEEN %@", 
          [NSArray arrayWithObjects:today, tomorrow,nil]]; 
NSArray *todaysItems = [scheduleItems fileteredArrayUsingPredicate:predicate]; 

注意:这未经测试。

相关问题