您需要了解这NSTimeInterval
是两个日期之间的差异。你想要做的就像告诉程序:
将日期设置为 2 天。
当您想要做的是告诉程序:
将日期设置为上周一加 2 天。
因此,您需要使用以下一系列NSDate
方法之一:
+ dateWithTimeIntervalSinceNow:
+ dateWithTimeInterval:sinceDate:
+ dateWithTimeIntervalSinceReferenceDate:
+ dateWithTimeIntervalSince1970:
– initWithTimeIntervalSinceNow:
– initWithTimeInterval:sinceDate:
– initWithTimeIntervalSinceReferenceDate:
– initWithTimeIntervalSince1970:
您在哪里创建NSDate
带有一些参考日期加/减NSTimeInterval
; 请注意,NSDate
对象是不可变的,因此没有方法可以使用NSTimeInterval
值更改对象表示的日期。
有关更多详细信息,请参阅NSDate
类参考。
要更正您的代码,您可以这样做:
NSDate *startTime=[NSDate date] ;
NSDate *endTime=[NSDate date] ;
NSTimeInterval difference=[endTime timeIntervalSinceDate:startTime];
NSDate *newTime = [NSDate dateWithTimeInterval:difference sinceDate:startDate];