目標 c の現在の時刻に 1 ミリ秒を追加する方法はありますか。サーバーからタイムスタンプを取得し、ミリ秒単位で繰り返し表示したい (システム時刻を使用したくない)。
前もって感謝します 。
目標 c の現在の時刻に 1 ミリ秒を追加する方法はありますか。サーバーからタイムスタンプを取得し、ミリ秒単位で繰り返し表示したい (システム時刻を使用したくない)。
前もって感謝します 。
タイムスタンプを NSDate に読み込みます。使うより
+ (id)dateWithTimeInterval:(NSTimeInterval)seconds sinceDate:(NSDate *)date
動作するはずです。
NSTimer
クラスのオブジェクトを使用する必要があります。サンプルコード:
-(void)startTimer {
theTimer = [NSTimer scheduledTimerWithTimeInterval:1.0/1000.0 target:self selector:@selector(updateTimer) userInfo:nil repeats:YES];
//the method updateTimer will be called once every millisecond
}
-(void)updateTimer {
//add one millisecond to the global time variable and display it in a label
}
-(void)stopTimer {
[theTimer invalidate]; //pauses the timer
}
編集
グローバルな Time 変数を使用するにNSDate
は、おそらく正しいクラスです。たとえば、時間間隔を使用してオブジェクトを初期化できます。600 秒前:
NSDate *globalDateTime = [[NSDate alloc] initWithTimeIntervalSinceNow:-600];
時間に 1 ミリ秒を追加するには:
globalDateTime = [globalDateTime dateByAddingTimeInterval:1.0/1000.0];
そして、グローバル時間変数を文字列に設定するには:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"HH:mm:ss"]; // use yyyy-MM-dd if you need to show the year, month or day
NSString *dateTimeString = [dateFormatter stringFromDate:globalDateTime];
NSTimeInterval クラスは、「10,000 年の範囲でサブミリ秒の精度を実現します」。
詳細については、NSDate に関する Appleのドキュメントを参照してください。