-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

これが2 つの日付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 に答える