2010-04-01 12 views

回答

2

參見this question

由布賴恩·拉姆齊

接受的答案是:

鑑於326.4秒,僞代碼:

minutes = floor(326.4/60) 
seconds = round(326.4 - minutes * 60) 

如果用%02d打印,你會得到如03:08如果任一數量小於10

+0

可能會出現「%2d」,你會得到「3:8」,你想要%02d來取得前導零。 – progrmr 2013-03-22 16:22:03

+0

感謝您指出這一點@progrmr;我有一段時間沒有回過頭來看這個不平衡。 – 2013-03-23 05:41:10

30
NSTimeInterval interval = 326.4; 
long min = (long)interval/60; // divide two longs, truncates 
long sec = (long)interval % 60; // remainder of long divide 
NSString* str = [[NSString alloc] initWithFormat:@"%02d:%02d", min, sec]; 

的%02D格式說明爲您提供了前導零一個2位數字。

注意:這僅適用於間隔的正值。

+0

謝謝!這是完美的 – daidai 2010-08-26 03:34:27

+0

只是採取間隔的絕對值,然後做數學,因此它也適用於負值。 +1爲好的解決方案! – Sam 2011-09-08 14:28:34

相關問題