Python program to convert seconds into hours, minutes and seconds



Python program to convert seconds into hours, minutes and seconds

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

Last Updated on November 13, 2021 by admin

Leave a Reply

Your email address will not be published. Required fields are marked *

Recommended Blogs