Python Datetime

Timezone-aware dates without the classic naive pitfalls.

  • python datetime
  • timezone aware
  • isoformat
  • strptime
  • zoneinfo

Python Datetime

Timezone-aware dates without the classic naive pitfalls.

Commands

CommandWhat it does
datetime.now(timezone.utc)Aware 'now' in UTC
dt.astimezone(ZoneInfo("Asia/Shanghai"))Convert zones
dt.isoformat()Serialize to ISO 8601
datetime.fromisoformat(s)Parse ISO back
(b - a).total_seconds()Duration in seconds

Example

from datetime import datetime, timezone
from zoneinfo import ZoneInfo
now = datetime.now(timezone.utc)
print(now.astimezone(ZoneInfo("Asia/Shanghai")).isoformat())

FAQ

Naive vs aware datetimes?

Naive has no zone and breaks across DST; always store UTC-aware and convert only for display.

How to parse arbitrary formats?

datetime.strptime for fixed formats; dateutil.parser.isoparse for lenient ISO input.

常见问题

Naive vs aware datetimes?
Naive has no zone and breaks across DST; always store UTC-aware and convert only for display.
How to parse arbitrary formats?
datetime.strptime for fixed formats; dateutil.parser.isoparse for lenient ISO input.

Python