我有一個應用程序,它是一個基本的計時器。它會跟蹤應用運行的秒數。我想將其轉換爲秒(NSUInteger),如下所示:00:00:12(hh:mm:ss)。所以,我看到這篇文章:格式化成hh的秒:ii:ss
NSNumber of seconds to Hours, minutes, seconds
從中我寫了這個代碼:
NSDate *date = [NSDate dateWithTimeIntervalSince1970:[[self meeting] elapsedSeconds]];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"hh:mm:ss"];
它工作正常,但它04:00:00開始了。我不知道爲什麼。我也試着做這樣的事情:
NSDate *date = [NSDate dateWithTimeIntervalSinceNow:[[self meeting] elapsedSeconds] * -1];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"hh:mm:ss"];
以爲這樣就可以正確地顯示該計數器,但它確實一個奇怪的1點23分00秒,然後只需翻轉至04:00:00,並在那裏停留的休息時間。
MS
我認爲[這](http://stackoverflow.com/questions/4042958/how-to-find-the-difference-between-two-dates- in-hhmmss-format-in-objective-c/4043251#4043251)就是你要找的。您將執行第3步,並且該代碼中的「ti」是您的'elapsedSeconds'。如果有幫助的話,一定要給這個問題的回答者(不是我)一個贊成。 – Anna 2010-10-28 21:23:55
感謝ABO。雖然我認爲通過使用NSDateFormatter,我不會需要計算所有的片斷......對此有什麼想法? – 2010-10-28 21:30:54
NSDateFormatter用於格式化日期/時間(如下午3點),而不是持續時間或經過的秒數。 – Anna 2010-10-28 21:34:05