Python provides powerful built-in modules like datetime, time, and calendar to simplify working with temporal data.
The datetime Module
The datetime module combines both date and time in a single class, making it one of the most useful tools for time-based operations.import datetime
Creating a Date or DateTime Object
import datetime
# Current date and time
now = datetime.datetime.now()
print("Now:", now)
# Only date
today = datetime.date.today()
print("Today:", today)
Creating Custom Dates
import datetime
birthday = datetime.date(1995, 5, 15)
print("Birthday:", birthday)
Accessing Components
print("Year:", today.year)
print("Month:", today.month)
print("Day:", today.day)
Formatting Dates and Times
Python allows you to convert datetime objects into strings and vice versa.Using strftime() (Format Date โ String)
import datetime
now = datetime.datetime.now()
formatted = now.strftime("%Y-%m-%d %H:%M:%S")
print("Formatted:", formatted)
Using strptime() (String โ Date)
import datetime
date_str = "2025-10-27"
converted = datetime.datetime.strptime(date_str, "%Y-%m-%d")
print("Converted:", converted)
Python uses a set of format codes with the strftime() method for formatting datetime objects into strings, and with strptime() for parsing strings into datetime objects.
| Code | Meaning | Example |
|---|---|---|
| %Y | Year (4 digits) | 2025 |
| %m | Month (01โ12) | 10 |
| %d | Day | 27 |
| %H | Hour (24-hour) | 14 |
| %M | Minute | 35 |
| %S | Second | 59 |
Working with Timedelta
The timedelta class represents the difference between two dates or times โ useful for adding or subtracting time.from datetime import datetime, timedelta
today = datetime.now()
next_week = today + timedelta(days=7)
print("Next Week:", next_week)
Example: Calculate age
from datetime import datetime
birthday = datetime(2000, 6, 15)
age = (datetime.now() - birthday).days // 365
print("Age:", age)
The time Module
The time module handles time-related tasks at a lower level (seconds, timestamps, etc.).import time
Getting Current Time
import time
print("Current Time (epoch):", time.time())
print("Readable Time:", time.ctime())
Pausing Execution
import time
print("Start")
time.sleep(2)
print("End after 2 seconds")
The calendar Module
The calendar module helps display and manipulate calendar data โ like months, weeks, and leap years.import calendar
Displaying a Month or Year
import calendar
print(calendar.month(2025, 10)) # Displays October 2025
print(calendar.calendar(2025)) # Displays full year calendar
Checking Leap Years
import calendar
print(calendar.isleap(2024)) # True
Getting Weekday of a Given Date
import calendar
day_index = calendar.weekday(2025, 10, 27)
print("Weekday Index:", day_index) # Weekday Index: 0
Summary
The datetime, time, and calendar modules together provide a complete toolkit for working with dates, times, and schedules in Python.Whether you're building a reminder app, logging system, or analytics dashboard, understanding these modules will make your time-based operations efficient and accurate.
| Module | Purpose | Common Uses |
|---|---|---|
| datetime | Work with date and time objects | Date creation, formatting, arithmetic |
| time | Handle time-related functions | Sleep, timestamps |
| calendar | Display and check calendar data | Months, leap years, weekdays |
| strftime() | Format datetime โ string | Output formatting |
| strptime() | Parse string โ datetime | Reading dates from text |
| timedelta | Time difference calculation | Scheduling, age, durations |