Documentation Status Discord Build Status Code Style: Black

Basic date and time types. Implements a subset of the CPython datetime module.

NOTE: This library has a large memory footprint and is intended for hardware such as the SAMD51, ESP32-S2, and nRF52.


This driver depends on:

Please ensure all dependencies are available on the CircuitPython filesystem. This is easily achieved by downloading the Adafruit library and driver bundle.

Installing from PyPI

On supported GNU/Linux systems like the Raspberry Pi, you can install the driver locally from PyPI. To install for current user:

pip3 install adafruit-circuitpython-datetime

To install system-wide (this may be required in some cases):

sudo pip3 install adafruit-circuitpython-datetime

To install in a virtual environment in your current project:

mkdir project-name && cd project-name
python3 -m venv .env
source .env/bin/activate
pip3 install adafruit-circuitpython-datetime

Usage Example

# Example of working with a `datetime` object
# from
from adafruit_datetime import datetime, date, time, timezone

# Using datetime.combine()
d = date(2005, 7, 14)
t = time(12, 30)
print(datetime.combine(d, t))

# Using
print("Current time (GMT +1):",
print("Current UTC time: ",

# Using datetime.timetuple() to get tuple of all attributes
dt = datetime(2006, 11, 21, 16, 30)
tt = dt.timetuple()
for it in tt:

# Formatting a datetime
    "The {1} is {0:%d}, the {2} is {0:%B}, the {3} is {0:%I:%M%p}.".format(
        dt, "day", "month", "time"


Contributions are welcome! Please read our Code of Conduct before contributing to help this project stay welcoming.


For information on building library documentation, please check out this guide.


See LICENSE/ for details.

Copyright (c) 2001-2021 Python Software Foundation. All rights reserved.

Copyright (c) 2000 All rights reserved.

Copyright (c) 1995-2001 Corporation for National Research Initiatives. All rights reserved.

Copyright (c) 1991-1995 Stichting Mathematisch Centrum. All rights reserved.

Indices and tables