2013-11-10 6 views
0

Я очень плохо разбираюсь в математике, но что такое математическое уравнение (в его простейшей возможной форме) для преобразования 3605 секунд в часы, минуты и секунды?Секунды, часы, минуты и секунды?

3605/60/60 = 1,0013888888 hours

Am Я на правильном пути?

time.hours = seconds/3600; 
time.minutes = (seconds - 3600 * time.hours)/60; 
time.seconds = seconds - 3600 * time.hours - 60 * time.minutes; 

Это не сработает, но оно должно, не так ли?

+0

Да, если вы имеете в виду дни, не даты. – doctorlove

+0

Нет, я, должно быть, ошибся. Я хочу преобразовать его в часы, минуты и секунды. – user2971623

+0

Этот вопрос не по теме, потому что речь идет о математике, а не программировании. –

ответ

0

Да, вы на правильном пути. Вот разбивка.

3605 сек

60 сек в минуту 3605/60 = 60.083 минут

60 минут в час 60.083 = 1,001 час

24 часа в сутки 1,001/24 = 0,0417 из в день

0
1 minute = 60 seconds 
1 hour = 60 minutes = 60*60 seconds 

Итак, если

x = 3605 
a = number of hours 
b = number of minutes 
c = number of seconds 

затем

a = ⌊ x/(60*60) ⌋ 
b = ⌊ (x - (a*60*60))/60 ⌋ 
c = x - ((a*60*60) + (b*60)) 

⌊⌋ означает quotient

+0

@Jeffman: Готово! –

0

Пусть т общее количество секунд

h = int(t/3600) 
m = int((t - 3600 * h)/60) 
s = t - 3600 * h - 60 * m 

См код здесь: http://ideone.com/OzLF8g

+0

Это не работает. 3601 должно быть 1 h 0m 1s, но результат равен 1h 0,0000001m 0s – user2971623

Смежные вопросы