Mastering Python Datetime: A Complete Guide

Mastering Python Datetime: A Complete Guide

In Python, dates and times are managed with the help of the datetime module. This guide will cover how to work with dates, create date objects, and format them for display.

Understanding the Datetime Module

A date in Python is represented using the datetime module, which provides a variety of methods to manipulate and format date and time objects.

Example: Displaying the Current Date and Time

import datetime
current_time = datetime.datetime.now()
print(current_time)

Date Output

When you run the above code, you will get output similar to this:

2025-01-28 12:10:57.437136

This output includes the year, month, day, hour, minute, second, and microsecond.

Creating Date Objects

To create a specific date, use the datetime() constructor from the datetime module. This constructor requires three parameters: year, month, and day.

Example: Creating a Date Object

import datetime
specific_date = datetime.datetime(2023, 4, 15)
print(specific_date)

Formatting Dates with strftime()

The strftime() method allows you to format datetime objects into readable strings. It takes a format string as a parameter.

Example: Displaying a Formatted Date

import datetime
format_date = datetime.datetime(2020, 10, 5)
print(format_date.strftime("%B %d, %Y"))

Common Format Codes

Here are some common format codes you can use with strftime():

  • %Y: Year (e.g., 2020)
  • %B: Month name (e.g., October)
  • %d: Day of the month (e.g., 05)
  • %H: Hour (00-23)
  • %M: Minute (00-59)
  • %S: Second (00-59)

Exercise

Consider the following code:

import datetime
x = datetime.datetime

Which syntax will print the current date?

  • print(x.datetime())
  • print(x.date())
  • print(x.now())

Conclusion

In this guide, we explored how to work with dates and times in Python using the datetime module. We learned to create date objects, format them for display, and understand the various methods available in the module. Mastering the datetime module is essential for any Python developer working with time-sensitive data.