Date in Python: Tutorial How to Get Date in Python

Posted on

Welcome to our comprehensive tutorial on retrieving and manipulating dates in Python. Dates are a crucial aspect of programming, and Python provides a wealth of built-in functions and modules for working with them. In this tutorial, we will cover the essential techniques to effortlessly get dates in Python.

How to Get the Current Date in Python

To retrieve the current date in Python, we can make use of the built-in module called datetime. This module provides us with the functionality we need to work with dates in Python.

Step 1: Importing the datetime Module

We will start by importing the datetime module in our Python script. We can do this by adding the following line at the beginning of our script:

import datetime

Step 2: Getting Today’s Date

Once we have imported the datetime module, we can get today’s date by calling the method. This method returns the current date in the format YYYY-MM-DD.

Here is an example:

import datetime

today =

The output of this code will be the current date in the YYYY-MM-DD format.

Step 3: Getting the Current Date and Time

If we want to retrieve both the current date and time, we can use the method. This method returns the current date and time in the format YYYY-MM-DD HH:MM:SS.mmmmmm.

Here is an example:

import datetime

now =

The output of this code will be the current date and time in the YYYY-MM-DD HH:MM:SS.mmmmmm format.

Date Comparison in Python

In Python, comparing dates is an essential task in many applications. Python provides several built-in functions to compare dates, including checking for equality and determining whether one date is earlier than another.

Equality Comparisons

To check whether two dates are equal, you can use the `==` operator. For example:

from datetime import date

date1 = date(2022, 9, 15)
date2 = date(2022, 9, 15)

if date1 == date2:
print("Dates are equal")
print("Dates are not equal")

The output of this code will be `Dates are equal` since both dates have the same year, month, and day.

Before or After Comparisons

You can also compare dates to determine which date is earlier or later. Python provides two main functions to perform before or after comparisons, `>` and `<`. For example:

from datetime import date

date1 = date(2022, 9, 15)
date2 = date(2022, 9, 16)

if date1 < date2:
print("Date 1 is earlier than Date 2")
print("Date 2 is earlier than Date 1")

The output of this code will be `Date 1 is earlier than Date 2` since Date 1 has an earlier day than Date 2.

Other Comparison Functions

Python provides several other comparison functions that you can use to perform more complex comparisons, including:

  • `date1 <= date2`: Checks if Date 1 is earlier than or equal to Date 2.
  • `date1 >= date2`: Checks if Date 1 is later than or equal to Date 2.
  • `date1 != date2`: Checks if Date 1 is not equal to Date 2.

By using these comparison functions, you can easily manipulate dates in your Python applications.

Generating Dates in Python

To generate dates in Python, we can work with the datetime module, which provides us with a range of tools to create and manipulate dates.

Creating Specific Dates

We can create a specific date by using the datetime() constructor, which takes in year, month, and day arguments:

from datetime import datetime

date = datetime(2021, 10, 15)

This code will output the following date:

2021-10-15 00:00:00

We can also create a date object for today’s date using the today() method:

today =

This code will output today’s date:

2022-01-03 15:48:12.542737

Manipulating Dates

We can manipulate dates by adding or subtracting days, months, or years. For example, to add 10 days to a date, we can use the timedelta() function:

from datetime import timedelta

date = datetime(2021, 10, 15)
new_date = date + timedelta(days=10)


This code will output the new date:

2021-10-25 00:00:00

We can also subtract days, months, or years by passing negative values to the timedelta() function.

Lastly, we can generate a sequence of dates using a loop. For example, to generate a list of dates for every day in a range of 10 days:

from datetime import timedelta

start_date = datetime(2022, 1, 1)
end_date = start_date + timedelta(days=10)

date_range = []

while start_date <= end_date:
    start_date += timedelta(days=1)


This code will output a list of dates:

[datetime.datetime(2022, 1, 1, 0, 0), datetime.datetime(2022, 1, 2, 0, 0), datetime.datetime(2022, 1, 3, 0, 0), datetime.datetime(2022, 1, 4, 0, 0), datetime.datetime(2022, 1, 5, 0, 0), datetime.datetime(2022, 1, 6, 0, 0), datetime.datetime(2022, 1, 7, 0, 0), datetime.datetime(2022, 1, 8, 0, 0), datetime.datetime(2022, 1, 9, 0, 0), datetime.datetime(2022, 1, 10, 0, 0), datetime.datetime(2022, 1, 11, 0, 0)]

By mastering the techniques presented here, generating dates in Python can be done quickly and efficiently.

Working with Date Formats in Python

In Python, dates can be formatted to display in various ways. For instance, you might want to present a date in a specific format, depending on your project’s requirements. There are multiple techniques to convert Python dates to strings and format them according to specific date formats.

Printing Dates with the strftime() Method

The strftime() method is used to format dates in Python. It converts a date object to a string that represents the date in the desired format. The strftime() method takes formatting codes as arguments to specify the date format. For example:

import datetime

today =
formatted_date = today.strftime("%B %d, %Y")


The output of the above code will be: October 24, 2021.

The %B, %d, and %Y codes in the above example represent the month name, day of the month, and year (four digits) respectively.

Converting Dates to Strings with str()

The str() function is another method to display dates as strings in Python. It returns the date object converted to a string.

import datetime

today =
formatted_date = str(today)


The output of the above code will be: 2021-10-24 11:25:13.376522.

Customizing Date Formats

You can also create custom date formats in Python by specifying formatting codes that meet your project requirements. For example:

import datetime

today =
formatted_date = today.strftime("%m/%d/%Y, %H:%M:%S")


The output of the above code will be in the format: 10/24/2021, 11:25:13.

You can find a comprehensive list of all the formatting codes available in Python from the official documentation.

Additional Date Manipulation Techniques in Python

In addition to the techniques we covered in the previous sections, there are other useful methods for manipulating dates in Python.

Extracting Components from a Date

If you need to extract specific components from a date, you can use the built-in date, month, and year attributes of the datetime object. Here’s an example:

# create a date object
import datetime
date_obj = datetime.datetime(2022, 1, 31)

# extract the year, month, and day
year = date_obj.year
month = date_obj.month
day =

Calculating the Difference Between Two Dates

To calculate the difference between two dates, you can subtract one from the other to get a timedelta object. The timedelta object represents the difference between two dates or times.

# create two date objects
import datetime
date_obj_1 = datetime.datetime(2021, 1, 1)
date_obj_2 = datetime.datetime(2022, 1, 1)
# calculate the difference
difference = date_obj_2 - date_obj_1
# print the difference in days

In this example, we subtract date_obj_1 from date_obj_2 to get the difference between the two dates. We then access the days attribute of the resulting timedelta object to get the difference in days.

Other Manipulation Techniques

Python provides many other built-in modules and functions for manipulating dates and times. For example, you can use the time module to work with time values or the calendar module to create calendars and manipulate dates.

By combining these techniques with the ones we’ve covered earlier, you’ll be able to handle any date-related task in your Python projects.

Advanced Date Operations in Python

In this section, we will cover advanced date operations in Python. These techniques allow us to work with datetime objects and time zones, as well as perform complex operations on dates.

Working with datetime Objects

Datetime objects in Python allow us to work with both dates and times, providing increased functionality. To create a datetime object, we can use the datetime module and specify the year, month, day, hour, minute, and second.

For example:

import datetime
 now = datetime.datetime(2021, 10, 12, 13, 30, 0)

This will create a datetime object representing October 12th, 2021 at 1:30 pm.

Time Zones

Working with time zones can be confusing, but Python’s datetime module makes it easier. We can use the pytz module to define time zones and convert datetimes to different time zones.

For example:

import pytz
 import datetime
 now =
 eastern = pytz.timezone('US/Eastern')
 now_eastern = eastern.localize(now)

This code creates a datetime object representing the current time and then converts it to the US Eastern time zone using the pytz module.

Complex Date Operations

Python has several built-in functions and methods for performing complex date operations. We can add and subtract time from datetimes, calculate the difference between two dates, and more.

For example, we can add 1 day to a datetime object using the timedelta function:

import datetime
 now =
 tomorrow = now + datetime.timedelta(days=1)

This code adds 1 day to the current datetime object and stores it in the variable “tomorrow.”

With these advanced date operations, we can create powerful applications that can handle complex tasks involving dates and times.


We hope this tutorial has provided you with a comprehensive understanding of working with dates in Python. As you can see, Python offers a variety of built-in functions and modules that make it simple and convenient to retrieve, manipulate, compare, and generate dates in your projects.

By incorporating the techniques presented in this tutorial, you can take your Python programming to the next level and build more robust and functional applications. Remember to practice and experiment with the different approaches discussed here to master your skills.

Thank you for taking the time to read this tutorial. We hope you found it informative and useful. If you have any questions or suggestions, please let us know in the comments below.

Leave a Reply

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