Skip to content
Related Articles

Related Articles

Python program to convert seconds into hours, minutes and seconds

Improve Article
Save Article
Like Article
  • Difficulty Level : Medium
  • Last Updated : 28 Jan, 2019

Given an integer n (in seconds), convert it into hours, minutes and seconds.

Examples:

Input : 12345
Output : 3:25:45

Input : 3600
Output : 1:00:00

Approach #1 : Naive

This approach is simply a naive approach to get the hours, minutes and seconds by simple mathematical calculations.




# Python Program to Convert seconds
# into hours, minutes and seconds
  
def convert(seconds):
    seconds = seconds % (24 * 3600)
    hour = seconds // 3600
    seconds %= 3600
    minutes = seconds // 60
    seconds %= 60
      
    return "%d:%02d:%02d" % (hour, minutes, seconds)
      
# Driver program
n = 12345
print(convert(n))


Output:

3:25:45

 
Approach #2 : Alternate to the Naive approach

By using the divmod() function, which does only a single division to produce both the quotient and the remainder, you can have the result very quickly with only two mathematical operations.




# Python Program to Convert seconds
# into hours, minutes and seconds
  
def convert(seconds):
    min, sec = divmod(seconds, 60)
    hour, min = divmod(min, 60)
    return "%d:%02d:%02d" % (hour, min, sec)
      
# Driver program
n = 12345
print(convert(n))


Output:

3:25:45

 

Approach #3 : Using timedelta (Object of datetime module)

Datetime module provides timedelta object which represents a duration, the difference between two dates or times. datetime.timedelta can be used to represent seconds into hours, minutes and seconds format.




# Python Program to Convert seconds
# into hours, minutes and seconds
import datetime
  
def convert(n):
    return str(datetime.timedelta(seconds = n))
      
# Driver program
n = 12345
print(convert(n))


Output:

3:25:45

 
Approach #4 : Using time.strftime()

time.strftime() gives more control over formatting. The format and time.gmtime() is passed as argument. gmtime is used to convert seconds to special tuple format that strftime() requires.




# Python Program to Convert seconds
# into hours, minutes and seconds
  
import time
  
def convert(seconds):
    return time.strftime("%H:%M:%S", time.gmtime(n))
      
# Driver program
n = 12345
print(convert(n))


Output:

03:25:45

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!