Datetime Reference
Timestamp parsing, formatting, and operations.
Get the current local date and time.
Used In: Auditing transaction times, logging offsets.
datetime.now()from datetime import datetime
print(type(datetime.now()))<class 'datetime.datetime'>Time Complexity: O(1)
Related Methods: datetime.now(timezone.utc)
datetime.now() vs datetime.now(timezone.utc): now() creates a naive datetime; now(timezone.utc) creates an aware datetime using universal standard time.
Get the current timezone-aware UTC date and time.
Used In: Production audit stamps.
from datetime import datetime, timezone
datetime.now(timezone.utc)from datetime import datetime, timezone
print(datetime.now(timezone.utc).tzinfo)UTCTime Complexity: O(1)
Related Methods: datetime.now()
Get the current local date (excluding hours, minutes, seconds).
Used In: Partitioning folders by date, daily reporting.
from datetime import date
date.today()from datetime import date
print(type(date.today()))<class 'datetime.date'>Time Complexity: O(1)
Related Methods: datetime.now()
Represent duration offsets for calendar dates calculations.
Used In: Calculating file expiration thresholds, checking query history ranges.
timedelta(days=0, seconds=0, weeks=0)from datetime import datetime, timedelta
today = datetime(2026, 7, 12)
yesterday = today - timedelta(days=1)
print(yesterday.day)11Time Complexity: O(1)
Format a datetime object into a custom string representation.
Used In: Formatting timestamps for output files names, log headers.
dt.strftime(format_code)from datetime import datetime
dt = datetime(2026, 7, 12)
print(dt.strftime('%d/%m/%Y'))'12/07/2026'Time Complexity: O(1)
Common Mistakes: Using system-dependent codes (like %-#d on Windows or %-d on Linux) which can break across operating systems.
Related Methods: strptime()
strftime() vs isoformat(): strftime() allows custom formats; isoformat() prints standard YYYY-MM-DDTHH:MM:SS format.
Parse a date text string into a datetime object using matching codes.
Used In: Timestamp parsing in ETL pipelines, validating dates.
datetime.strptime(date_string, format)from datetime import datetime
dt = datetime.strptime('2026-07-12', '%Y-%m-%d')
print(dt.year)2026Time Complexity: O(1)
Common Mistakes: Confusing %m (month index) with %M (minute index).
Related Methods: strftime()
Convert a datetime object into raw float epoch seconds.
Used In: Tracking timestamp offsets in databases.
dt.timestamp()from datetime import datetime
dt = datetime(2026, 7, 12)
print(type(dt.timestamp()))<class 'float'>Time Complexity: O(1)
Related Methods: datetime.fromtimestamp()
Translate timezone-aware datetime values into target timezone regions.
Used In: Localizing raw server logs timestamps.
dt.astimezone(timezone_obj)from datetime import datetime, timezone, timedelta
utc_time = datetime.now(timezone.utc)
ist_time = utc_time.astimezone(timezone(timedelta(hours=5, minutes=30)))
print(ist_time.tzinfo is not None)TrueTime Complexity: O(1)
Related Methods: datetime.astimezone()