from datetime import datetime
def show(label, value, pattern):
print(f"{label}")
print(f" Input: {value}")
print(f" Pattern: {pattern}")
print(f" Parsed: {datetime.strptime(value, pattern)}")
print("-" * 50)
print("\n=== Python strptime Parsing Examples ===\n")
# 1. ISO-like date
show(
"ISO-like date",
"2026-05-21",
"%Y-%m-%d"
)
# 2. Date + time (24-hour)
show(
"Date + time (24-hour)",
"2026-05-21 14:30:10",
"%Y-%m-%d %H:%M:%S"
)
# 3. Date + time with AM/PM
show(
"Date + time (12-hour with AM/PM)",
"05/21/2026 02:15 PM",
"%m/%d/%Y %I:%M %p"
)
# 4. Month names
show(
"Day Month Year (full month name)",
"21 May 2026",
"%d %B %Y"
)
show(
"Day Month Year (short month name, 2-digit year)",
"21 May 26",
"%d %b %y"
)
# 5. Timezone offset
show(
"Date + time with timezone offset",
"2026-05-21 14:30:10 +0300",
"%Y-%m-%d %H:%M:%S %z"
)
# 6. RFC-style timestamp
show(
"RFC-style timestamp",
"Thu, 21 May 2026 14:30:10 +0300",
"%a, %d %b %Y %H:%M:%S %z"
)
'''
run:
=== Python strptime Parsing Examples ===
ISO-like date
Input: 2026-05-21
Pattern: %Y-%m-%d
Parsed: 2026-05-21 00:00:00
--------------------------------------------------
Date + time (24-hour)
Input: 2026-05-21 14:30:10
Pattern: %Y-%m-%d %H:%M:%S
Parsed: 2026-05-21 14:30:10
--------------------------------------------------
Date + time (12-hour with AM/PM)
Input: 05/21/2026 02:15 PM
Pattern: %m/%d/%Y %I:%M %p
Parsed: 2026-05-21 14:15:00
--------------------------------------------------
Day Month Year (full month name)
Input: 21 May 2026
Pattern: %d %B %Y
Parsed: 2026-05-21 00:00:00
--------------------------------------------------
Day Month Year (short month name, 2-digit year)
Input: 21 May 26
Pattern: %d %b %y
Parsed: 2026-05-21 00:00:00
--------------------------------------------------
Date + time with timezone offset
Input: 2026-05-21 14:30:10 +0300
Pattern: %Y-%m-%d %H:%M:%S %z
Parsed: 2026-05-21 14:30:10+03:00
--------------------------------------------------
RFC-style timestamp
Input: Thu, 21 May 2026 14:30:10 +0300
Pattern: %a, %d %b %Y %H:%M:%S %z
Parsed: 2026-05-21 14:30:10+03:00
--------------------------------------------------
'''