Python provides powerful tools for working with dates and times through the built-in datetime module. This module allows you to:
Learn Python Programming and become a certified software developer
Let’s break it down.
import datetime You can also import specific classes:
Learn Python Programming Online
from datetime import date, time, datetime, timedelta The date class represents a calendar date (year, month, day).
from datetime import date
d = date(2025, 12, 1)
print(d) # 2025-12-01 today = date.today()
print(today) # Example: 2025-12-01 print(today.year)
print(today.month)
print(today.day) The time class represents a time of day (without date).
from datetime import time
t = time(14, 30, 45)
print(t) # 14:30:45 print(t.hour)
print(t.minute)
print(t.second)
print(t.microsecond) The datetime class combines both date + time.
from datetime import datetime
dt = datetime(2025, 12, 1, 14, 30, 45)
print(dt) now = datetime.now()
print(now) utc_now = datetime.utcnow()
print(utc_now) Use .strftime() to convert a date/time object into a formatted string.
%Y → Year%m → Month%d → Day%H → Hour%M → Minute%S → Second%A → Day namenow = datetime.now()
formatted = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted) Use .strptime() to convert a string into a datetime object.
from datetime import datetime
date_string = "2025-12-01 14:30:45"
parsed = datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")
print(parsed) Python uses timedelta for arithmetic.
from datetime import timedelta
future = today + timedelta(days=10)
print(future) past = today - timedelta(days=7)
print(past) d1 = date(2025, 1, 1)
d2 = date(2025, 12, 1)
diff = d2 - d1
print(diff.days) # number of days Python 3.9+ uses zoneinfo for timezone support.
from datetime import datetime
from zoneinfo import ZoneInfo
lagos_time = datetime.now(ZoneInfo("Africa/Lagos"))
print(lagos_time)
new_york_time = datetime.now(ZoneInfo("America/New_York"))
print(new_york_time)
dt = datetime(2025, 12, 1, 14, 0, tzinfo=ZoneInfo("Africa/Lagos"))
converted = dt.astimezone(ZoneInfo("America/New_York"))
print(converted) Sometimes you need delays (not part of datetime).
import time
time.sleep(2) # pause for 2 seconds datetime for timestampszoneinfo instead of old pytz.strftime() and .strptime() for formatting/parsingtimedelta for safe arithmeticLatest tech news and coding tips.
Download the Codeflare iOS app and learn on the Go 1. What UI and UX…
1. Running Everything as Root One of the biggest beginner errors. Many new users log…
A keylogger is a type of surveillance software or hardware that records every keystroke made…
In JavaScript, it’s commonly used for: Recursive functions (like Fibonacci) Heavy calculations Repeated API/data processing…
For years, responsive design has depended almost entirely on media queries. We ask questions like: “If…
1. What is Task Scheduling? Task scheduling is the process of automatically running commands, scripts,…