2013-05-29 1 views
3

Мне нужно сменить секунды на минуты, часы. Я уже использую этот код:Конверсия секунд в минутах

int minutes = floor(seconds/60); 
    int sec = trunc(seconds - minutes * 60); 
    int hours1 = floor(seconds/(60 * 60)); 

Он отлично работает, но когда "60 minutes" завершил это дает 01:61:01 Я хочу таймер в этом формате 01:01:01. То есть мои минуты не конвертируются через 60 минут.

Пожалуйста, предложите мне или помогите мне. Я ищу много кода, но до сих пор не нашел точного решения.

+0

Что значит «завершено»? Вы должны предоставить больше кода, чтобы мы могли получить более четкое представление. – randomizer

+1

Для минут вам нужно использовать% 60 –

ответ

2

можно вычислить минуты от секунд с сильфоном формулой ...

int minutes = (secondsLeft % 3600)/60; 

увидеть весь код в часы, минуты и секунды сильфонных ...

int hours, minutes, seconds; 
hours = secondsLeft/3600; 
minutes = (secondsLeft % 3600)/60; 
seconds = (secondsLeft %3600) % 60; 
NSLog(@"\nTime is => %02d:%02d:%02d",hours,minutes,seconds); 

Выхода : Время 00:00:06

+0

@Abha, если вы поместите этот код 'int minutes = (seconds% 3600)/60;' вместо 'int minutes = floor (seconds/60);' тогда вы получите максимум minuts '60', а после начала с' 00' используйте мой код выше, и вы получите полный результат: –

1

Я преобразовал секунды в минуты. Упование это может вам помочь.

float playListMinsLocal=floorf(songObj.songTime.floatValue); 
    float playListSecsLocal=songObj.songTime.floatValue-playListMinsLocal+.001; 
    float playListTotalSecs=(playListMinsLocal*60)+(playListSecsLocal*100); 
    playListMins+=(int)playListTotalSecs/60; 
    playListSecs+=(int)playListTotalSecs%60; 
1

Попробуйте следующее:

int seconds = mySeconds % 60; 
int minutes = (mySeconds/60) % 60; 
int hours = mySeconds/3600;