我正在尝试从00:00:00(分钟:秒:毫秒)开始计时器并计数。我找到了this和this,但我无法完成它,它会显示当前的时间和日期。
我的代码如下:
- (void)timerTicked:(NSTimer *)timer
{
NSDate *date = [NSDate date];
unsigned int flags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
NSCalendar* calendar = [NSCalendar currentCalendar];
NSDateComponents* components = [calendar components:flags fromDate:date];
NSDate* dateOnly = [[calendar dateFromComponents:components] dateByAddingTimeInterval:[[NSTimeZone localTimeZone]secondsFromGMT]];
static NSDateFormatter *dateFormatter;
if (!dateFormatter) {
dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"mm:ss:SS";
}
self.timerLabel.text = [dateFormatter stringFromDate:dateOnly];
}
答案 0 :(得分:0)
以下详细介绍了该怎么做:
创建一个NSDate类型的实例变量,用于记录开始时间。让我们调用变量startTime;
编写一个startTimer方法:
在timerTicked方法中,将当前日期保存在本地变量" now"。
使用NSCalendar方法components:fromDate:toDate:options:
计算自计时器启动以来的分钟数和秒数。
毫秒,您可能需要进行自己的计算,如下所示:
NSTimeInterval elapsedSeconds = [now timeIntervalSinceDate: startTime];
milliseconds = floor(1000*(elapsedSeconds-floor(elapsedSeconds)));