你要明白,NSTimeInterval
是两个日期之间的差异。你想要做的就像告诉程序:
将日期设置为2天。
当你想要做的是告诉程序:
设置日期上周一加2天。
因此,你需要使用这些家庭的NSDate
方法之一:
+ dateWithTimeIntervalSinceNow:
+ dateWithTimeInterval:sinceDate:
+ dateWithTimeIntervalSinceReferenceDate:
+ dateWithTimeIntervalSince1970:
– initWithTimeIntervalSinceNow:
– initWithTimeInterval:sinceDate:
– initWithTimeIntervalSinceReferenceDate:
– initWithTimeIntervalSince1970:
当你创建NSDate
具有一定的参考日期加/减NSTimeInterval
;请注意,NSDate
对象是不可更改因此,没有方法使用NSTimeInterval
值更改对象所表示的日期。
查看NSDate
Class Reference了解更多详情。
要纠正你的代码,这是你会怎么做:
NSDate *startTime=[NSDate date] ;
NSDate *endTime=[NSDate date] ;
NSTimeInterval difference=[endTime timeIntervalSinceDate:startTime];
NSDate *newTime = [NSDate dateWithTimeInterval:difference sinceDate:startDate];