有没有办法在目标 c 的当前时间中增加一毫秒。我将从服务器获取时间戳并希望以毫秒重复显示(我不想使用系统时间)。感谢任何帮助。
提前致谢 。
有没有办法在目标 c 的当前时间中增加一毫秒。我将从服务器获取时间戳并希望以毫秒重复显示(我不想使用系统时间)。感谢任何帮助。
提前致谢 。
将时间戳读入 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
}
编辑
对于使用全局时间变量,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 年的范围内产生亚毫秒精度。”
Refer to apple's documentation on NSDate for more details: