-1

我想将 nstimeInterval 值分配给 nsdate。

  NSDate *startTime=[NSDate date] ;
  NSDate *endTime=[NSDate date] ;
   NSTimeInterval difference=[endTime 
   timeIntervalSinceDate:startTime];

    startTime=difference; This gives me an error. 

如何将 nsTimeInterval 类型的差异结果分配给 nsdate?

提前致谢

4

1 回答 1

0

您需要了解这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];
于 2012-07-20T07:02:58.703 回答