2

我需要不断更新标签中的播放时间。我得到了NSTimeInterval currentProgress = self.moviePlayerController.currentPlaybackTime;返回双值的时间。但我需要显示的格式是“MM:SS”(00:00)。我试过下面的代码

NSTimeInterval currentProgress = self.moviePlayerController.currentPlaybackTime;

float min = floor(currentProgress/60);
float sec = round(currentProgress - min * 60);

当进度时间为 10 分 10 秒时,它显示得非常好,如“10:10”。但这里的问题是,如果进度时间是 1 分 7 秒,它会在标签中显示“1:7”。我的预期显示是“01:07”。我怎样才能做到这一点?

4

2 回答 2

8
NSString *time = [NSString stringWithFormat:@"%02d:%02d", (int)min, (int)sec];

尝试这个。应该只是工作!

于 2012-06-13T10:01:33.850 回答
5

这应该可以解决问题:

int seconds = (int)currentProgress % 60;
int minutes = currentProgress / 60;

NSString *result = [NSString stringWithFormat:@"%02d:%02d", minutes, seconds];

格式说明符将%02d自动用 0 填充,以便该字段至少有2 个字符宽。

于 2012-06-13T10:06:10.780 回答