Python

Python Date and Time

Python provides powerful tools for working with dates and times through the built-in datetime module. This module allows you to:

  • Represent dates and times
  • Format and parse date/time strings
  • Perform date/time arithmetic
  • Work with timezones
  • Get the current date/time

Learn Python Programming and become a certified software developer

Let’s break it down.

1. Importing the datetime module

import datetime

You can also import specific classes:

Learn Python Programming Online

from datetime import date, time, datetime, timedelta

2. Working with Dates

The date class represents a calendar date (year, month, day).

Create a Date

from datetime import date

d = date(2025, 12, 1)
print(d)   # 2025-12-01

Get Today’s Date

today = date.today()
print(today)   # Example: 2025-12-01

Date Attributes

print(today.year)
print(today.month)
print(today.day)

3. Working with Time

The time class represents a time of day (without date).

Create a Time

from datetime import time

t = time(14, 30, 45)
print(t)  # 14:30:45

Time Attributes

print(t.hour)
print(t.minute)
print(t.second)
print(t.microsecond)

4. Working with DateTime

The datetime class combines both date + time.

Create a datetime

from datetime import datetime

dt = datetime(2025, 12, 1, 14, 30, 45)
print(dt)

Current DateTime

now = datetime.now()
print(now)

UTC Time

utc_now = datetime.utcnow()
print(utc_now)

5. Formatting Dates and Times (strftime)

Use .strftime() to convert a date/time object into a formatted string.

Common Format Codes

  • %Y → Year
  • %m → Month
  • %d → Day
  • %H → Hour
  • %M → Minute
  • %S → Second
  • %A → Day name

Example

now = datetime.now()

formatted = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted)

6. Parsing Strings into DateTime (strptime)

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)

7. Date and Time Arithmetic

Python uses timedelta for arithmetic.

Adding Days

from datetime import timedelta

future = today + timedelta(days=10)
print(future)

Subtracting Days

past = today - timedelta(days=7)
print(past)

Difference Between Two Dates

d1 = date(2025, 1, 1)
d2 = date(2025, 12, 1)

diff = d2 - d1
print(diff.days)  # number of days

8. Working With Timezones (zoneinfo)

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)

Convert Between Timezones

dt = datetime(2025, 12, 1, 14, 0, tzinfo=ZoneInfo("Africa/Lagos"))
converted = dt.astimezone(ZoneInfo("America/New_York"))
print(converted)

9. Sleep / Delay with Time Module

Sometimes you need delays (not part of datetime).

import time

time.sleep(2)  # pause for 2 seconds

10. Best Practices

✔ Use datetime for timestamps

✔ Use zoneinfo instead of old pytz

✔ Always convert to UTC for storage

✔ Use .strftime() and .strptime() for formatting/parsing

✔ Use timedelta for safe arithmetic

Share
Published by
codeflare

Recent Posts

The Golden Ratio (φ)

1. What Is the Golden Ratio? The Golden Ratio, represented by the Greek letter φ (phi), is…

13 hours ago

CSS Combinators

In CSS, combinators define relationships between selectors. Instead of selecting elements individually, combinators allow you to target elements based…

3 days ago

Boolean Algebra

Below is a comprehensive, beginner-friendly, yet deeply detailed guide to Boolean Algebra, complete with definitions, laws,…

4 days ago

Why It’s Difficult to Debug Other People’s Code (And what Can be Done About it)

Debugging your own code is hard enough — debugging someone else’s code is a whole…

5 days ago

Complete Git Commands

Git is a free, open-source distributed version control system created by Linus Torvalds.It helps developers: Learn how to…

1 week ago

Bubble Sort Algorithm

Bubble Sort is one of the simplest sorting algorithms in computer science. Although it’s not…

1 week ago