加入NSDate 90分钟

Hes*_*eed 17 time ios

这段代码有什么问题?

NSDate *matchDateCD = [[object valueForKey:@"matchDate"] description]; // from coredata NSDate
NSDate *add90Min = [matchDateCD dateByAddingTimeInterval:5400];



if ( matchDateCD >=[NSDate date] || add90Min <= matchDateCD )
{

    cell.imageView.image = [UIImage imageNamed: @"r.gif"];//Show image in the table

}    
Run Code Online (Sandbox Code Playgroud)

如果比赛正在进行或90分钟,我需要在表格中显示此图像

NSP*_*mer 41

我不知道object你调用valueForKey:的是什么,但假设它返回一个NSDate对象,你的额外调用description将指定一个NSString(描述的返回值)matchDateCD.那不是你想要做的.

这是你想要做的:

NSDate *matchDateCD = [object valueForKey:@"matchDate"];
NSDate *add90Min = [matchDateCD dateByAddingTimeInterval:(90*60)]; // compiler will precompute this to be 5400, but indicating the breakdown is clearer

if ( [matchDateCD earlierDate:[NSDate date]] != matchDateCD ||
     [add90Min laterDate:matchDateCD] == add90Min )
{
    cell.imageView.image = [UIImage imageNamed: @"r.gif"];//Show image in the table
}
Run Code Online (Sandbox Code Playgroud)


Sim*_*iwi 9

使用NSDate的dateByAddingTimeInterval方法添加到该时间的秒数.

NSDate* newDate = [oldDate dateByAddingTimeInterval:90];
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用NSDateFormatter或NSDateComponents重新获得新的时间.


Was*_*hah 5

您还可以设置小时、年、月和秒等

     NSDateComponents *components= [[NSDateComponents alloc] init];
    [components setMinute:30];
    NSCalendar *calendar = [NSCalendar currentCalendar];
    NSDate *myNewDate=[calendar dateByAddingComponents:components toDate:[NSDate date] options:0];
Run Code Online (Sandbox Code Playgroud)