有没有办法在目标c中为当前时间添加一毫秒。我将从服务器获取时间戳,并希望重复显示毫秒(我不想使用系统时间)。感谢任何帮助。
提前致谢。
答案 0 :(得分:1)
将时间戳读入NSDate。比使用
+ (id)dateWithTimeInterval:(NSTimeInterval)seconds sinceDate:(NSDate *)date
应该工作。
答案 1 :(得分:0)
您需要使用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年的范围内产生亚毫秒精度。”
有关详细信息,请参阅NSDate上的apple documentation: