- Python datetime now add seconds
- # Add seconds to datetime in Python
- # Adding seconds to the current time
- # Add seconds to a datetime object using datetime.combine
- # Extracting the time after the operation
- # Formatting the time as HH:MM:SS
- # Additional Resources
- Add seconds to datetime in Python
- Ways to add seconds to datetime in Python
- Using module datetime
- Using Pandas Library
- Creating a function to modify time manually
- Summary
- Add Seconds, Minutes & Hours to datetime Object in Python (3 Examples)
- Importing datetime Module & Creating Example Date & Time Object
- Adding Seconds to datetime Object
- Adding Minutes to datetime Object
- Adding Hours to datetime Object
- Video, Further Resources & Summary
Python datetime now add seconds
Last updated: Feb 19, 2023
Reading time · 3 min
# Add seconds to datetime in Python
Use the timedelta() class from the datetime module to add seconds to datetime.
The timedelta class can be passed a seconds argument and adds the specified number of seconds to the datetime object.
Copied!from datetime import datetime, timedelta # ✅ add seconds to a datetime object dt = datetime(2023, 9, 24, 9, 30, 35) print(dt) # 👉️ 2023-09-24 09:30:35 result = dt + timedelta(seconds=24) print(result) # 👉️ 2023-09-24 09:30:59 # ------------------------------ # ✅ add seconds to the current time now = datetime.today() print(now) # 👉️ 2023-07-20 17:40:43.310804 result = now + timedelta(seconds=15) print(result) # 👉️ 2023-07-20 17:40:58.310804
If you only have a time component, e.g. 09:30:13 scroll down to the code sample that uses datetime.combine .
Make sure to import the datetime and timedelta classes from the datetime module.
The first example uses the datetime class to create a datetime object.
We passed values for the year , month , day , hour , minute and second arguments.
Once we have a datetime object, we can use the timedelta class to add seconds to it.
Copied!from datetime import datetime, timedelta # ✅ add seconds to datetime dt = datetime(2023, 9, 24, 9, 30, 35) print(dt) # 👉️ 2023-09-24 09:30:35 result = dt + timedelta(seconds=24) print(result) # 👉️ 2023-09-24 09:30:59
The code sample adds 24 seconds to the datetime object.
# Adding seconds to the current time
If you need to add seconds to the current time, use the datetime.today() method to get a datetime object that stores the current date and time.
Copied!from datetime import datetime, timedelta now = datetime.today() print(now) # 👉️ 2023-07-20 17:42:19.347301 result = now + timedelta(seconds=15) print(result) # 👉️ 2023-07-20 17:42:34.347301
The datetime.today() method returns the current local datetime .
We need to use a datetime object because it automatically rolls over the minutes, hours, days, months and years if necessary.
This wouldn’t be possible if we only had the time component. For example, 11:59:30PM + 50 seconds would raise an exception.
# Add seconds to a datetime object using datetime.combine
If you only have the time component, use the datetime.combine method to combine the time with the current (or some other) date and get a datetime object.
Copied!from datetime import datetime, date, timedelta, time t = time(9, 30, 13) print(t) # 👉️ 09:30:13 result = datetime.combine(date.today(), t) + timedelta(seconds=27) print(result) # 👉️ 2023-07-20 09:30:40 only_t = result.time() print(only_t) # 👉️ 09:30:40
The datetime.combine method takes a date and time as arguments and returns a new datetime object by combining them.
Once we get a datetime object, we can use the timedelta class to add seconds to it.
# Extracting the time after the operation
Use the time() method on the datetime object if you only need to extract the time after the operation.
Copied!from datetime import datetime, date, timedelta, time t = time(9, 30, 13) print(t) # 👉️ 09:30:13 result = datetime.combine(date.today(), t) + timedelta(seconds=27) print(result) # 👉️ 2023-07-20 09:30:40 # ✅ only get updated time only_t = result.time() print(only_t) # 👉️ 09:30:40
The datetime.time method returns a time object with the same hour, minute, second and millisecond.
# Formatting the time as HH:MM:SS
If you need to get the time formatted as HH:MM:SS , use a formatted string literal.
Copied!from datetime import datetime, timedelta now = datetime.now() print(now) # 👉️ 2023-07-20 17:47:28.100856 result = now + timedelta(seconds=10) print(result) # 👉️ 2023-07-20 17:47:38.100856 print(result.time()) # 👉️ 17:47:38.100856 print(f'result:%H:%M:%S>') # 👉️ 17:47:38
Formatted string literals (f-strings) let us include expressions inside of a string by prefixing the string with f .
Make sure to wrap expressions in curly braces — .
Formatted string literals also enable us to use the format specification mini-language in expression blocks.
# Additional Resources
You can learn more about the related topics by checking out the following tutorials:
I wrote a book in which I share everything I know about how to become a better, more efficient programmer.
Add seconds to datetime in Python
If you are looking for a method to add seconds to datetime in Python, keep reading our article. Today, we will give some methods and detailed explanations to carry out this topic.
Ways to add seconds to datetime in Python
Using module datetime
The module datetime provides functions to work in real-time. To create a determined time, use the datetime() or time() function with following syntax:
datetime(year, month, day, hour, minute, second)
The module also provides a function named timedelta() that performs operations to work with datetime’s units. The function includes some arguments to determine the unit that you want to make the change. To add seconds to datetime, you can directly add an exact number of seconds by passing them to the argument seconds.
import datetime as dt beforeTime = dt.datetime(2022,6,22,14,32,47) sec = 28 # Add 28 seconds to the current time afterTime = beforeTime + dt.timedelta(seconds=sec) print("Time is:\n", beforeTime) print("Time after adding seconds is:\n", afterTime)
Time is: 2022-06-22 14:32:47 Time after adding seconds is: 2022-06-22 14:33:15
Using Pandas Library
Another way to add seconds to datetime is using the function Timedelta() in Pandas library. Generally, this function is almost the same as the timedelta() above. However, this function does not support year and month units.
import datetime import pandas as pd beforeTime = dt.datetime(2022,6,22,14,32,47) sec = 28 afterTime = beforeTime + pd.Timedelta(sec, "s") print("Time is:\n", beforeTime) print("Time after adding seconds is:\n", afterTime)
Time is: 2022-06-22 14:32:47 Time after adding seconds is: 2022-06-22 14:33:15
You can create a determined time in Pandas by the function Timestamp() and get the same result.
beforeTime = pd.Timestamp(2022,6,22,14,32,47)
Creating a function to modify time manually
In this way, we will consider units of the class datetime as integer numbers. Remember that each unit has a limitation. For example, the unit second ranges from 0 to 59. If the result exceeds the limitation, we must increase the upper unit to ensure precision.
Because we need to check the precision of the function, we will use the present units as the parameter of the function datetime().
import datetime as dt # Function to add seconds manually def addSecond(seconds): # Take present unit to build time now = dt.datetime.now() year = now.year month = now.month day = now.day hour = now.hour minute = now.minute sec = now.second sec+=seconds if(sec>59): minute+=sec//60 sec = sec%60 if(minute>59): hour+=minute//60 minute = minute%60 if(hour>23): day+=hour//24 hour = hour%24 myTime = dt.datetime(year, month, day, hour, minute, sec) print("Manual time:\n", myTime) # Get the time right now now = dt.datetime.now() sec = 259200 # Time after adding a few seconds newTime = now + dt.timedelta(seconds=sec) print("Now is:\n",now) print("Time Delta:\n", newTime) addSecond(sec)
Now is: 2022-10-08 16:25:23.471214 Time Delta: 2022-10-11 16:25:23.471214 Manual time: 2022-10-11 16:25:23
As you can see, the result from our function is almost the same as the result when using the function timedelta(). It means our function is correct.
Because months have different days, we create a simple function to represent our idea.
Summary
Our article shows you how to add seconds to datetime in Python. We strongly recommend using the timedelta() function in the module datetime as the most effective way.
Maybe you are interested:
My name is Robert Collier. I graduated in IT at HUST university. My interest is learning programming languages; my strengths are Python, C, C++, and Machine Learning/Deep Learning/NLP. I will share all the knowledge I have through my articles. Hope you like them.
Name of the university: HUST
Major: IT
Programming Languages: Python, C, C++, Machine Learning/Deep Learning/NLP
Add Seconds, Minutes & Hours to datetime Object in Python (3 Examples)
On this page, you’ll learn how to add seconds, minutes and hours to a datetime object in the Python programming language.
The table of content is structured as follows:
Importing datetime Module & Creating Example Date & Time Object
Before we can start, we need to load the datetime module to Python:
Next, we have to create an exemplifying datetime object:
my_date = datetime.datetime(2023, 5, 16, 23, 32, 17) print(my_date) # 2023-05-16 23:32:17
The previous console output shows that we have created a datetime object representing the 16th of May 2023 at 23 hours, 32 minutes, and 17 seconds.
Adding Seconds to datetime Object
In the first example, we’ll add seconds to our datetime object.
For this task, we can use the timedelta() function and the seconds argument as shown below:
my_date_seconds = my_date + datetime.timedelta(seconds = 20) print(my_date_seconds) # 2023-05-16 23:32:37
As you can see, we have created a new datetime object showing a date and time 20 seconds later compared to our input datetime object.
Adding Minutes to datetime Object
Similar to Example 1, we can use the minutes argument to add minutes to a datetime object:
my_date_minutes = my_date + datetime.timedelta(minutes = 5) print(my_date_minutes) # 2023-05-16 23:37:17
The previously shown date and time is 5 minutes later than the input date.
Adding Hours to datetime Object
Following the same style as Examples 1 and 2, we can use the timedelta() function and the hours argument to add hours to a datetime object:
my_date_hours = my_date + datetime.timedelta(hours = 30) print(my_date_hours) # 2023-05-18 05:32:17
The previously created datetime object is 30 hours later than the input date and time.
Video, Further Resources & Summary
Do you need more explanations on datetime objects? Then you may have a look at the following video of the Socratica YouTube channel.
The video explains how to use the datetime module to handle dates and times in Python.
Please accept YouTube cookies to play this video. By accepting you will be accessing content from YouTube, a service provided by an external third party.
If you accept this notice, your choice will be saved and the page will refresh.
Accept YouTube Content
Furthermore, you may have a look at the other Python tutorials provided on Statistics Globe:
Summary: This post has shown you how to add seconds, minutes, and hours to datetime objects in the Python programming language. In case you have any additional questions, you may leave them in the comment section below.
Note: This article was created in collaboration with Gottumukkala Sravan Kumar. Gottumukkala is a data analyst and programmer who helps to create tutorials on topics such as the datetime module in Python. You may find more information about Gottumukkala and his other articles on his profile page.