Calculating time in python

Convert time into hours minutes and seconds in Python

Convert time into hours minutes and seconds in Python

While we believe that this content benefits our community, we have not yet thoroughly reviewed it. If you have any suggestions for improvements, please let us know by clicking the “report an issue“ button at the bottom of the tutorial.

In this tutorial, we will be talking about time. Don’t worry, this isn’t a boring history tutorial, rather we will be looking at different ways of converting time in seconds to time in hours, minutes, and seconds. Moving forwards we will be referring to time in hours, minutes and seconds as time in the preferred format. It will look like :

Let’s take some ‘time’ and think about the problem at hand. No doubt python has amazing modules to do the conversion for us. But let’s try and write our own program first before we move on to the in-built modules.

Building a Custom function to convert time into hours minutes and seconds

To write our own conversion function we first need to think about the problem mathematically. How do you convert seconds into the preferred format? You need to get the value of hours, minutes and seconds. We are going to assume that the time in seconds doesn’t exceed the total number of seconds in a day. If it does we will divide it with the total number of seconds in a day and take the remainder. This is mathematically represented as :

seconds = seconds % (24 * 3600) 

% operator gives the remainder. 24*3600 since one hour has 3600 seconds (60*60) and one day has 24 hours. After this we can proceed and calculate the hour value from seconds.

1. Get the hour value

To get the hour value from seconds we will be using the floor division operator (//). It returns the integral part of the quotient. Since we need the number of hours, we will divide the total number of seconds (n) by the total number of seconds in an hour (3600). Mathematically this is represented as :

Читайте также:  Sign Up

2. Get the minute value

To calculate the value of minutes we need to first divide the total number of seconds by 3600 and take the remainder. Mathematically this is represented as :

A minute has sixty seconds hence we floor the seconds value with 60. After calculating minute value we can move forward to calculate the seconds’ value for our preferred format.

3. Get the seconds value

To get seconds value we again need to divide the total number of seconds by the number of seconds in one minute (60) and take the remainder. Mathematically this is done as follows :

4. Complete code

def convert_to_preferred_format(sec): sec = sec % (24 * 3600) hour = sec // 3600 sec %= 3600 min = sec // 60 sec %= 60 print("seconds value in hours:",hour) print("seconds value in minutes:",min) return "%02d:%02d:%02d" % (hour, min, sec) n = 10000 print("Time in preferred format :-",convert(n)) 
seconds value in hours: 2 seconds value in minutes: 46 Time in preferred format :- 02:46:40 

Using the Time module

Now let’s look at an inbuilt module that lets us convert seconds into our preferred format in one line of code. The time module defines the epoch as January 1, 1970, 00:00:00 (UTC) in Unix systems (system dependent). Epoch is basically the start of time for a computer. Think of it as day 0. Whenever we convert seconds using the time module, this epoch is used as the reference point. To output the epoch in your system, use the following line of code :

Time Epoch

To convert seconds into preferred format use the following line of code:

time.strftime("%H:%M:%S", time.gmtime(n)) 

This line takes the time in seconds as ‘n’ and then lets you output hour, minute, and second value separately. The complete python code is as follows:

import time n=10000 time_format = time.strftime("%H:%M:%S", time.gmtime(n)) print("Time in preferred format :-",time_format) 
Time in preferred format :- 02:46:40 

The time module also gives you the option to display some extra information such as day, month, and year.

%a display abbreviated weekday name.
%A display full weekday name.
%b display abbreviated month name.
%B display full month name.
%c display the appropriate date and time representation.
%d display day of the month as a decimal number [01,31].
import time n=100000000000 time_format = time.strftime("Day: %a, Time: %H:%M:%S, Month: %b", time.gmtime(n)) print("Time in preferred format :-",time_format) 
Time in preferred format :- Day: Wed, Time: 09:46:40, Month: Nov 

Using Datetime module

You can also use the timedelta method under the DateTime module to convert seconds into the preferred format. It displays the time as days, hours, minutes, and seconds elapsed since the epoch. The python code to convert seconds into the preferred format using Datetime module is as follows:

import datetime n= 10000000 time_format = str(datetime.timedelta(seconds = n)) print("Time in preferred format :-",time_format) 
Time in preferred format :- 115 days, 17:46:40 

Conclusion

This tutorial looked at three different ways you can use to convert seconds into hours, minutes, and seconds. Broadly there are two different ways to go about the problem. Either you write your own function or use an inbuilt module. We started by writing our own function and then looked at the time and DateTime module.

Читайте также:  Вилд питон от мансера

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases. Learn more about us

Источник

Calculate the Time Difference Between Two Time Strings in Python

Calculate the Time Difference Between Two Time Strings in Python

  1. Use datetime.strptime() to Calculate Time Difference Between Two Time Strings in Python
  2. Use time.sleep() to Calculate the Time Difference Between Two Time Strings in Python
  3. Usedatetime.timedelta() to Calculate the Time Difference Between Two Time Strings in Python

There are times when we have to deal with date and time-related problems in programming. In Python, data and time are not data types themselves. Still, Python provides a vast range of functions as well as libraries that help in dealing with such problems. One of the date and time-related problems is calculating the time interval between two-time strings.

This tutorial demonstrates different ways of calculating the time interval between two strings in Python.

Use datetime.strptime() to Calculate Time Difference Between Two Time Strings in Python

The datatime class provides a user with a number of functions to deal with dates and times in Python. The strptime() function is used to parse a string value to represent time based on a given format. The string value and time format are stored as the function argument.

time_1 = datetime.strptime('05:00:00',"%H:%M:%S") time_2 = datetime.strptime('10:00:00',"%H:%M:%S")  time_interval = time_2 - time_1 print(time_difference) 

Here, two time strings are stored in two variables using the datetime.strptime() function. Note that %H , %M and %S are the representatives of Hours , Minutes and, Seconds . After the two time strings are stored with their time format, the time interval between the two is calculated by simply subtracting the two variables.

Читайте также:  Certificate verify failed unable to get local issuer certificate python request

Use time.sleep() to Calculate the Time Difference Between Two Time Strings in Python

There is a module known as the time module in Python, which helps in printing time in the form of objects, numbers, and strings. It also offers many functions to carry out tasks like measuring time and measuring code efficiency.

One of the functions in Python’s time module is the sleep() function. This function suspends the execution of the present code-block for a certain amount of time mentioned by the user only.

Look at this example code:

import time time_1 = time.time()  time.sleep(20)  time_2 = time.time() time_interval = time_2 - time_1 print(time_interval) 

Note that in the above code, the time() function from the time module is also used. This function helps in returning the number of seconds passed since the epoch, January 1, 1970, 00:00:00 at UTC. The variable 20 in the argument of the sleep() function represents 20 seconds. In this code, the two time values are taken since the epoch, and in between them, the code stops executing for 20 seconds.

Use datetime.timedelta() to Calculate the Time Difference Between Two Time Strings in Python

There is one more Python module known as the datetime module. This module also provides many classes and functions to deal with dates, times, and time intervals.

The timedelta() class is one of the functions of the datetime module. It’s used to represent a specific time duration or the difference between two dates and times. The functions hold many arguments like days, milliseconds, microseconds, seconds, minutes, hours, and also weeks.

The user can mention these arguments according to the need of the program. Check out an example program here:

import datetime time_1 = datetime.timedelta(hours= 10 , minutes=20, seconds=30) time_2 = datetime.timedelta(hours= 20, minutes=30, seconds=45) print(time_2 - time_1) 

Note that in the above code, not all arguments are mentioned in the timedelta class.

Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.

Related Article — Python DateTime

Источник

Оцените статью