Python provides robust support for working with dates and times, making it a versatile choice for applications involving scheduling, data analysis, and more. In this guide, we'll explore the essentials of working with date and time in Python, along with sample code.

Date and Time Modules

Python includes several modules for working with date and time. The most commonly used modules are:

  • datetime: For working with date and time objects.
  • date: For working with date objects.
  • time: For working with time objects.
  • calendar: For working with calendars and dates.

Working with Date and Time Objects

The datetime module provides the datetime class, which is commonly used for date and time operations. Here's how you can create a datetime object:

from datetime import datetime
# Creating a datetime object for the current date and time
current_datetime =
# Creating a datetime object for a specific date and time
custom_datetime = datetime(2023, 5, 15, 12, 30)

Formatting Dates and Times

You can format date and time objects as strings using the strftime() method. For example:

# Formatting a datetime object as a string
formatted_date = current_datetime.strftime("%Y-%m-%d")
formatted_time = current_datetime.strftime("%H:%M:%S")

Working with Timedeltas

Timedeltas represent the duration between two dates or times. You can perform arithmetic operations with them. For example:

from datetime import timedelta
# Creating a timedelta
delta = timedelta(days=5, hours=3)
# Adding a timedelta to a datetime
new_datetime = current_datetime + delta


Python's date and time functionality is a valuable tool for working with temporal data. Whether you're calculating durations, formatting dates for display, or dealing with complex date and time operations, Python's date and time modules provide the flexibility and precision needed for a wide range of applications.