wttime - A fuzzy time parser
Tired of figuring out what this timestamp means? Done with format strings? Cannot be bothered to care about all the seconds, millis, and jiffies?
You don't have to! wttime is a fuzzy parser that can recover and disambiguate virtually any time specification you can throw at it.
pip install wttime
Disambiguate various time specifications:
$ wttime -t UTC 1231231233 1231231233000 1231231233000000 UTC: 2009-01-06 08:40:33 (+0000) UTC: 2009-01-06 08:40:33 (+0000) UTC: 2009-01-06 08:40:33 (+0000) $ wttime -t UTC 90000000 20200102 2020-01-02 "Nov 15" "Tuesday 10pm" UTC: 1972-11-07 16:00:00 (+0000) UTC: 2020-01-02 00:00:00 (+0000) UTC: 2020-01-02 00:00:00 (+0000) UTC: 2020-11-15 00:00:00 (+0000) UTC: 2020-05-26 22:00:00 (+0000)
Flexible output formatting:
$ wttime -l -r --remote-timezone 'America/Chicago' -f '%Y-%m-%d %H:%M' -umy 1231231233000000 UTC: 2009-01-06 08:40 Local: 2009-01-06 09:40 Remote: 2009-01-06 02:40 Seconds: 1231231233 Millis: 1231231233000 Micros: 1231231233000000 $ wttime -nx -ns -y 20200810 1597010400000000
Plays well with others:
$ date | wttime UTC: 2020-05-24 20:46:40 (+0000)
wttime can also handle timestamps, disambiguate more formats, and be used from the shell. It does use dateutil under the hood.
What is the deal with 'remote timezone'?
It is (unfortunately) common that companies or systems operate globally in a default timezone that is not UTC. In those cases, using an extra timezone can be convenient.
- get more data about format frequency in the wild
- figure out how to get feedback
Add pre-commit hooks:
ln -sf $(pwd)/misc/hooks/pre-commit .git/hooks
Publish to PyPI
rm -r dist python setup.py sdist twine upload dist/*
This project is licensed under the MIT License - see the LICENSE.md file for details.