- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Working with Dates and Times in Python
Manipulating date and time is an integral part of any programming language. Python has standard library containing the datetime module which has nearly all the features and functions to implement the calculations involving date and time. In the below examples we will see how the various aspects of date time is implemented.
Handling the Current Date
The datetime module has a class named datetime. We can import this class and use its functions to create a datetime object. Then apply various formatting techniques to display the date and time values. So first we create a datetime object initialized with now() function. This object holds all parts of the current date and time and then we manipulate different parts of it.
Example
from datetime import datetime dt_time_obj = datetime.now() # Print the current date time print(dt_time_obj) # Find the object class print('Object Class :- ',type(dt_time_obj))
Output
Running the above code gives us the following result −
2020-01-22 09:33:02.693863 Object Class :-
Datetime and Strings
We can convert strings to datetime and datetime to strings using the methods strptime and strftime. This conversion is a necessity when we handle different data sources where the data may not be presented in the exact format as needed by python to be called as date time. In the below example we take a string and convert it to date time. And also do the opposite action.
Example
from datetime import datetime dt_string = '2020-1-30 2-52-59' # Create date object from String date_val = datetime.strptime(dt_string, "%Y-%m-%d %H-%M-%S") print(date_val) print('Class: ',type(date_val)) print("\n") # Create String from Date Object date_val_str = datetime.strftime(date_val, "%Y-%m-%d %H-%M-%S") print(date_val_str) print('Class: ',type(date_val_str))
Output
Running the above code gives us the following result −
2020-01-30 02:52:59 Class: 2020-01-30 02-52-59 Class:
Extracting Parts of a Date Time Value
We can extract different parts of the date using directives and the strftime method. Below is a list of some examples on the different directives and their purpose. For a complete list of all the directives, please refer the python documentation here.
Directive | Usage |
---|---|
%A | Weekday |
%B | Month |
%M | Minutes |
%Y | Year |
%d | Day of the Month |
The below example shows how the directives are used.
Example
from datetime import datetime dt_string = '2020-1-30 2-52-59' # Create date object from String date_val = datetime.strptime(dt_string, "%Y-%m-%d %H-%M-%S") #Return the year and name of weekday, month,Day of month: print(date_val.year) print(date_val.strftime("%d")) print(date_val.strftime("%B")) print(date_val.strftime("%A"),"\n")
Output
Running the above code gives us the following result −
2020 30 January Thursday
Date Time Arithmetic
Next we see examples on calculations involving date and time. We can add and subtract days, hours etc from a given date. Also we can take to dates as inputs and apply various operations on them.
Using TimeDelta
Example
#import datetime from datetime import * # Find current time dt_time_today = datetime.now() print ("Today's date: ", str(dt_time_today)) #add 5 days to current new_date = dt_time_today + timedelta(days = 5) print('After 5 days: ', new_date) #Remove 2 weeks from current date two_weeks_back = dt_time_today - timedelta(weeks = 2) print('Two weeks ago: ', two_weeks_back) print('two_weeks_back object type: ', type(two_weeks_back))
Output
Running the above code gives us the following result −
Today's date: 2020-01-29 12:38:03.290795 After 5 days: 2020-02-03 12:38:03.290795 Two weeks ago: 2020-01-15 12:38:03.290795 two_weeks_back object type:
Using Operators
We can apply some operators between two dates. The difference in dates can be found out using the minus operator and the dates can be compared using the logical operator.
Example
from datetime import datetime # Given Dates date1 = datetime(2018,5, 12, 8, 11, 53) date2 = datetime(2017, 6, 16, 12, 43, 27) # Difference between two dates date_diff = date1-date2 print("Difference: ", date_diff) # Comparing two dates print(date1 < date2)
Output
Running the above code gives us the following result −
Difference: 329 days, 19:28:26 False
- Related Articles
- Working with dates before 1970 in MySQL?
- Python - Working with Pandas and XlsxWriter
- How to Add and Subtract Dates and Times in Excel?
- Working with Images in Python?
- Working with PDF files in Python?
- Working with zip files in Python
- Python - Working with buttons in Kivy
- Python - Working with .docx module
- Working with csv files in Python Programming
- Comparing dates in Python
- Python - Working with PNG Images using Matplotlib
- Working with Hashtable and Dictionary in C#
- Working with lists and keys in React.js
- Excel random data: generate random numbers, texts, dates, times in Excel
- How to create a vector with dates between two dates in R?
