Python Datetime
Working with dates and times in Python using the datetime module.
Current Date & Time
from datetime import datetime, date, time
# Current datetime
now = datetime.now() # 2025-12-17 11:50:30.123456
today = date.today() # 2025-12-17
# Get components
now.year # 2025
now.month # 12
now.day # 17
now.hour # 11
now.minute # 50
now.second # 30
Create Datetime
# Create specific date
dt = datetime(2025, 12, 17, 11, 50, 30)
d = date(2025, 12, 17)
t = time(11, 50, 30)
# Combine date and time
dt = datetime.combine(d, t)
# From timestamp
dt = datetime.fromtimestamp(1734435030) # Unix timestamp
Format & Parse
# Format datetime to string
now = datetime.now()
now.strftime('%Y-%m-%d') # 2025-12-17
now.strftime('%H:%M:%S') # 11:50:30
now.strftime('%B %d, %Y') # December 17, 2025
now.strftime('%A') # Wednesday
# Parse string to datetime
dt = datetime.strptime('2025-12-17', '%Y-%m-%d')
dt = datetime.strptime('17/12/2025 11:50', '%d/%m/%Y %H:%M')
Date Arithmetic
from datetime import timedelta
# Add/subtract time
now = datetime.now()
tomorrow = now + timedelta(days=1)
next_week = now + timedelta(weeks=1)
yesterday = now - timedelta(days=1)
# Time difference
dt1 = datetime(2025, 12, 17)
dt2 = datetime(2025, 12, 1)
diff = dt1 - dt2
diff.days # 16
diff.total_seconds() # 1382400.0
Common Formats
# Format codes
%Y # Year with century (2025)
%y # Year without century (25)
%m # Month as number (01-12)
%B # Month full name (December)
%b # Month abbreviation (Dec)
%d # Day of month (01-31)
%A # Weekday full (Wednesday)
%a # Weekday abbr (Wed)
%H # Hour 24h (00-23)
%I # Hour 12h (01-12)
%M # Minute (00-59)
%S # Second (00-59)
%p # AM/PM