Provides methods to manipulate and format various time-based objects into human-readable strings.
Project description
Time Formatting Tools
Provides methods to manipulate and format various time-based objects into human-readable strings.
Why?
The datetime
standard package in Python is very useful for working with times programmatically, but it only provides basic text formatting.
Additionally, other packages which add time formatting methods like pendulum
use non-standard datetime-like objects, and they have a lot of extra features I didn't need.
While it's not too hard to define some helper functions to format time into human-readable text, it becomes annoying when you have to copy the functions into every project you make with time formatting.
timefmt
solves this by providing lightweight helper functions written entirely in Python that handle formatting and manipulating time-based objects.
The code is pre-tested and easy to install with pip
, meaning you can get up and going with nicely formatted time strings without any hassle.
Usage
import datetime
import timefmt # Gives access to the auto() method (recommended)
import timefmt.dt # Gives access to datetime specific methods
import timefmt.td # Gives access to timedelta specific methods
now = datetime.datetime.now()
print("Now (short):", timefmt.dt.short(now))
print("Now (long):", timefmt.dt.long(now))
since_epoch = datetime.timedelta(seconds=now.timestamp())
print("Time since Jan. 1st, 1970 (short):", timefmt.td.short(since_epoch))
print("Time since Jan. 1st, 1970 (long):", timefmt.td.long(since_epoch))
# You can also automatically detect which type it is, like so
import random
random_choice = random.choice([now, since_epoch])
print("Unknown time format value (short):", timefmt.auto(random_choice))
print("Unknown time format value (long):", timefmt.auto(random_choice, long=True))
This prints the following:
Now (short): 11:12:12 AM
Now (long): 11:12:12 AM MST
Time since Jan. 1st, 1970 (short): 2817W 2D 18:12:12
Time since Jan. 1st, 1970 (long): 2817 weeks, 2 days, 18 hours, 12 minutes, and 12 seconds
Unknown time format value (short): 11:12:12 AM
Unknown time format value (long): 11:12:12 AM MST
Full Documentation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file timefmt-1.1.3.tar.gz
.
File metadata
- Download URL: timefmt-1.1.3.tar.gz
- Upload date:
- Size: 17.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4398743c2f510292aaf169eb8f45c7bcedccb9165ee0a4c33a7d8d31a895634b |
|
MD5 | cc68ee1cc6da1b1c8bf768909e85056a |
|
BLAKE2b-256 | 9e93c6b0a778aef7f688ab3670b46f2b4add9f2a8eb35d38572ac0b72778294e |
File details
Details for the file timefmt-1.1.3-py3-none-any.whl
.
File metadata
- Download URL: timefmt-1.1.3-py3-none-any.whl
- Upload date:
- Size: 19.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76c61dea0f60e198a1b0596e111c123f17866b9efc1bc4a755fe4c251d893626 |
|
MD5 | e1b2f54c7bea77ac4207414c969d38d8 |
|
BLAKE2b-256 | 82ecfea319cec1d07c5552df743186654dfb699025a28dfdabcd927a8e23f7dd |