gpt4 book ai didi

iphone - 如何按天对 NSDate 对象进行分组?

转载 作者:搜寻专家 更新时间:2023-10-30 20:06:45 25 4
gpt4 key购买 nike

我正在为对象设置时间戳属性。现在我正在使用 [NSDate date]。用户每天可能创建 10 个对象。但是在 UI 中,我想按日期删除它们。所以每一天都会显示为那天创建的所有对象。我怎样才能做到这一点?现在它正在尝试匹配日期和时间等。

Example: 
Obj1 - 2/5/12 5pm
Obj2 - 2/5/12 12pm
Obj3 - 2/4/12 6pm
Obj4 - 2/1/12 1pm

我需要能够按天对这些进行分组,一个用于 2/5、2/4 和 2/1。

最佳答案

您可以使用 NSDateComponents 类来直接访问 NSDate 实例的日、月和年。

NSDate *someDate = [NSDate date];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [calendar components:NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit fromDate:someDate];

NSLog(@"Year: %d", [components year]);
NSLog(@"Month: %d", [components month]);
NSLog(@"Day: %d", [components day]);

这是一个 NSDateComponents 比较方法:

- (BOOL)isFirstCalendarDate:(NSDateComponents *)first beforeSecondCalendarDate:(NSDateComponents *)second
{
if ([first year] < [second year]) {
return YES;
} else if ([first year] == [second year]) {
if ([first month] < [second month]) {
return YES;
} else if ([first month] == [second month]) {
if ([first day] < [second day]) {
return YES;
}
}
}
return NO;
}

我没有测试过NSDateComponents比较方法;它将受益于单元测试。

关于iphone - 如何按天对 NSDate 对象进行分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9154487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com