times
Times is a small, minimalistic, Python library for dealing with time conversions between universal time and arbitrary timezones.
What it is and what it does
Times is a minimal timezone-handling library that enforces a best practice: always work with UTC internally and convert to/from local timezones only at input and output boundaries. It provides functions to convert local times to universal time, parse datetime strings with auto-detected or explicit timezones, work with POSIX timestamps, and format UTC times for display in a specific timezone. The library depends on Arrow and is built on top of it as of version 0.7.
The package is explicitly abandoned and no longer maintained. Its own documentation states that users should migrate to Arrow instead. While it still installs and runs (with low friction), it receives no updates, security patches, or bug fixes, and the repository is archived. It should be considered a legacy package suitable only for maintaining existing code, not for new projects.
Use it for:
- Converting user-submitted local times to UTC for storage in a database or API.
- Parsing datetime strings from JSON APIs with automatic timezone detection.
- Formatting UTC datetimes for display to end users in their local timezone.
- Converting POSIX timestamps to readable datetime objects with timezone context.
- Enforcing timezone-aware datetime handling in legacy Python 2 codebases.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Times converts between universal (UTC) time and arbitrary timezones, and parses/formats datetime strings and POSIX timestamps with explicit timezone handling.
No, not for new projects. The package is abandoned since 2014 and explicitly recommends Arrow as a replacement. While it has low install friction and no known vulnerabilities, its lack of maintenance means no security updates, no support for modern Python versions, and no bug fixes. Use Arrow directly instead, which provides the same functionality with active maintenance. Only install times if you are maintaining legacy code that already depends on it.
Install
times on PyPI
pip
pip install timesuv
uv add timespoetry
poetry add timesInstalling times
Before you install
Low install friction; single pure-Python wheel. However, the package is abandoned as of 2014 and explicitly recommends Arrow as a replacement in its own documentation.
License in practice
BSD permissive license places no restrictions on use, modification, or redistribution in proprietary or open-source projects.
Quickstart
pip install times
import times
# Convert local time to UTC
universal = times.to_universal('2012-02-03 11:59:03', 'Europe/Amsterdam')
# Format UTC time for display
formatted = times.format(universal, 'CET')
Verify before relying
- Whether times 0.7 is fully compatible with modern Python versions (classifiers list only up to 3.3).
- Current state of Arrow integration in times 0.7 and whether it handles all legacy times use cases.
- Whether timezone string parsing via dateutil remains reliable without active maintenance.
- Support for datetime strings in standard formats beyond those shown in the documentation.
Package facts
| License | BSD (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — arrow |
| Maintenance | abandoned — 4,373 days since the last release |
| Last repo commit | (repository archived) |
| First released | |
| Downloads | 343,173/month — #7,386 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: times-0.7-py2.py3-none-any.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
jinja2-timeJinja2 extension that adds template tags for…
permissive · top 5,000 on PyPI
pytzpytz brings the Olson timezone database into…
permissive · top 100 on PyPI
wheneverWhenever provides type-safe, DST-aware datetime…
permissive · top 5,000 on PyPI
DateTimeProvides a DateTime data type for working with…
unclear · top 5,000 on PyPI
arrowArrow provides a simpler, more intuitive API…
permissive · top 1,000 on PyPI
strict-rfc3339Converts Unix timestamps to and from RFC3339…
copyleft · top 5,000 on PyPI
dateformatParses strings into datetime objects and…
permissive · top 15,000 on PyPI
deloreanDelorean simplifies Python datetime…
permissive · top 15,000 on PyPI
SQLAlchemy-UtcProvides a SQLAlchemy DateTime type that…
permissive · top 15,000 on PyPI
airporttimeConverts between local time and UTC for any…
unclear · top 15,000 on PyPI