Introduction
Advanced datetime operations including timezones and periods.
Timezones
from datetime import datetime, timezone
import pytz
# UTC timezone
utc = datetime.now(timezone.utc)
# Specific timezone
eastern = pytz.timezone("US/Eastern")
local = utc.astimezone(eastern)
# Create timezone-aware datetime
dt = eastern.localize(datetime(2024, 6, 15, 10, 30))
Timedelta Operations
from datetime import timedelta
delta = timedelta(days=30, hours=12, minutes=45)
# Add to datetime
future = datetime.now() + delta
# Calculate difference
diff = future - datetime.now()
print(diff.total_seconds())
Time Periods
from datetime import datetime
import pandas as pd
# Using pandas for periods
period = pd.Period("2024-06", freq="M")
print(period.start_time, period.end_time)
# Date range
dates = pd.date_range("2024-01-01", periods=12, freq="M")
Practice Problems
- Convert between timezones
- Calculate business days between dates
- Generate monthly periods
- Handle DST transitions
- Parse ISO 8601 strings