{"library":"iso8601","code":"import iso8601\nfrom datetime import datetime, timezone\n\n# Parse a full ISO 8601 datetime string with UTC timezone\ndatetime_str_utc = '2023-10-27T10:00:00Z'\ndatetime_obj_utc = iso8601.parse_date(datetime_str_utc)\nprint(f\"Parsed UTC: {datetime_obj_utc}\")\nassert datetime_obj_utc == datetime(2023, 10, 27, 10, 0, tzinfo=timezone.utc)\n\n# Parse a datetime string with an offset timezone\ndatetime_str_offset = '2023-10-27T10:00:00-05:00'\ndatetime_obj_offset = iso8601.parse_date(datetime_str_offset)\nprint(f\"Parsed Offset: {datetime_obj_offset}\")\n\n# Parse a date-only string (time defaults to 00:00:00 UTC)\ndate_str = '2023-10-27'\ndatetime_obj_date_only = iso8601.parse_date(date_str)\nprint(f\"Parsed Date Only: {datetime_obj_date_only}\")\nassert datetime_obj_date_only == datetime(2023, 10, 27, 0, 0, tzinfo=iso8601.UTC)\n\n# Parse a date with a space separator instead of 'T'\ndatetime_str_space = '2023-10-27 10:00:00+01:00'\ndatetime_obj_space = iso8601.parse_date(datetime_str_space)\nprint(f\"Parsed with Space: {datetime_obj_space}\")","lang":"python","description":"The `parse_date` function is the main entry point for parsing ISO 8601 strings. It automatically handles various common formats including full datetimes with and without timezones, and date-only strings. By default, missing timezone information will result in a UTC-aware datetime object unless a `default_timezone` is specified or set to `None` for naive datetimes.","tag":null,"tag_description":null,"last_tested":"2026-04-24","results":[{"runtime":"python:3.10-alpine","exit_code":0},{"runtime":"python:3.10-slim","exit_code":0},{"runtime":"python:3.11-alpine","exit_code":0},{"runtime":"python:3.11-slim","exit_code":0},{"runtime":"python:3.12-alpine","exit_code":0},{"runtime":"python:3.12-slim","exit_code":0},{"runtime":"python:3.13-alpine","exit_code":0},{"runtime":"python:3.13-slim","exit_code":0},{"runtime":"python:3.9-alpine","exit_code":0},{"runtime":"python:3.9-slim","exit_code":0}]}