我有以下代码来生成当前日期,以便让我显示今天采取的步骤数.
但是,我想显示存储的前7天数据,但不确定如何使日期查询显示过去7天的每一天,以便我可以进行7次查询.我认为可以写下7次以下的代码,一个-1 -2 -3等,但不确定我会在哪里进行调整以获得先前的日期.
有人可以为我揭开它的光芒吗?
// Calculate start of day
- (NSDate * )startDateOfToday
{
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [calendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit
fromDate:[NSDate date]];
return [calendar dateFromComponents:components];
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
您可以简单地减少components.day要删除的天数.它可以消极.示例代码:
NSCalendar *calendar = [NSCalendar autoupdatingCurrentCalendar];
NSDateComponents *components = [calendar components:NSYearCalendarUnit
| NSMonthCalendarUnit | NSDayCalendarUnit
fromDate:[NSDate date]];
for (int i = 0; i < 7; ++i) {
NSDate *date = [calendar dateFromComponents:components];
NSLog(@"%d days before today = %@", i, date);
--components.day;
}
Run Code Online (Sandbox Code Playgroud)
输出:
2013-12-04 12:37:33.876 7days[62698:303] 0 days before today = 2013-12-04 06:00:00 +0000
2013-12-04 12:37:33.877 7days[62698:303] 1 days before today = 2013-12-03 06:00:00 +0000
2013-12-04 12:37:33.877 7days[62698:303] 2 days before today = 2013-12-02 06:00:00 +0000
2013-12-04 12:37:33.877 7days[62698:303] 3 days before today = 2013-12-01 06:00:00 +0000
2013-12-04 12:37:33.877 7days[62698:303] 4 days before today = 2013-11-30 06:00:00 +0000
2013-12-04 12:37:33.877 7days[62698:303] 5 days before today = 2013-11-29 06:00:00 +0000
2013-12-04 12:37:33.878 7days[62698:303] 6 days before today = 2013-11-28 06:00:00 +0000
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1268 次 |
| 最近记录: |