Skip to content
Related Articles

Related Articles

Improve Article

Python program to convert seconds into hours, minutes and seconds

  • Last Updated : 28 Jan, 2019
Geek Week

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

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course




My Personal Notes arrow_drop_up
Recommended Articles
Page :