将1毫秒添加到当前时间目标c

时间:2013-04-24 12:09:14

标签: iphone ios objective-c cocoa-touch

有没有办法在目标c中为当前时间添加一毫秒。我将从服务器获取时间戳,并希望重复显示毫秒(我不想使用系统时间)。感谢任何帮助。

提前致谢。

2 个答案:

答案 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