Everyday Utilities

arrow

Dates and times written the way you'd actually say them out loud, not the way a computer clock demands.

Install it: pip install arrow

What does it do?

Arrow wraps Python’s clunky built-in date and time tools in a friendlier interface, so instead of juggling several different objects to answer what time it is in Tokyo right now, you get one consistent object that does it all. It can parse dates from strings, shift them forward and backward in plain language, and convert between timezones without the usual ceremony. It even has built-in humanize output, turning a timestamp into something like an hour ago automatically. The whole pitch is that working with time in Python shouldn’t feel like fighting the language.

See it in action

This gets the current time, converts it to Pacific time, prints it in a readable format, and also prints a casual phrase like ‘just now’ describing how long ago it was.

import arrow

utc = arrow.utcnow()
local = utc.to("US/Pacific")
print(local.format("YYYY-MM-DD HH:mm:ss"))
print(local.humanize())

Why would a non-developer care?

Anyone who has dealt with a bug caused by timezones, a calendar invite showing the wrong hour, a scheduled post going out on the wrong day, has felt the pain this library exists to prevent. Time bugs are sneaky: they often only show up for users in certain timezones or around daylight saving changes, which makes them especially annoying to catch.

Real-world examples

It’s a common pick in projects that need readable, timezone-aware timestamps without pulling in a heavier dependency, from web APIs to command-line tools. Its humanized time output style, like three hours ago, is the same pattern you see all over social media apps, even if those apps built their own version.

Who uses it

Python developers who want simpler timezone handling and human-readable date output without wrestling with the standard library directly.

How it compares to alternatives

It competes directly with Pendulum, another nicer-dates library, with the community fairly split on which has cleaner design; both ultimately lean on python-dateutil for the trickiest parsing and timezone logic.

New to Python and want to actually try libraries like this yourself?

Find a beginner-friendly course

Related libraries