data | ||
tww | ||
__init__.py | ||
.gitignore | ||
INSTALL.sh | ||
main.py | ||
README.md | ||
requirements.txt | ||
setup.py |
Time when and where
Find time now, in the past or future in any timezone or location.
Usage
python tww QUERY [--debug] [--full]
- Supported
QUERY
types:- Timezone translation
<datetime-like> in <timezone/location> to <destination timezone/location>
or<datetime-like> to <timezone/location>
(assumes datetime islocal
)04:26 in japan to local
03:14 in local to IST
15:20 to America/New_York
2021-12-25 12:00 in Brazil
- Time difference:
(time) between <datetime-like> and <datetime-like>
or(time) since <datetime-like
or(time) until <datetime-like>
time between 2012-03-14 and 2012-04-26
time since 09:00
time until end of workday
- (Approximate) workdays calculation (assumes monday-friday are work days - ignores public/local holidays (for now)):
work days/hours since/until <datetime-like>
or `workdays since 2021-01-05
work hours until Friday
- Milliseconds since epoch:
(time/seconds) since epoch
- Datetime to epoch:
<datetime-like> to epoch
or(milli)seconds since <datetime-like>/epoch
2021-01:01 to epoch
milliseconds since epoch
- Timezone translation
Few more notes:
-
<datetime-like>
is any time or time-like string - or example:2019-04-26 3:14
,06:42
27 January 1992
,- some human readable like
now
,in 3 hours
,7 minutes ago
and many others. - See dateparser for more.
- custom date-times (like
christmas
,new years
,end of workday
) defined indata/custom_dt.csv
-
<timezone/location>
is either:- timezone (tried first) - it can be:
- tz database name (like
Europe/Sofia
), - UTC time offset (with colon
:
or not like+02:00
or+0530
), or - abbreviation (like
UTC
,CET
,PST
- however please note that these are not unique and resolution might wrong)
- tz database name (like
- a location. Uses a local database of files of countries and cities. It then tries to fuzzymatch the query using fuzzywuzzy. In case it can't find the country or city, it uses geopy for location resolution. Finally it uses timezonefinder for timezone resolution.
- timezone (tried first) - it can be:
--format
is the format of the time to be displayed. See supported datetime formats
Install
virtualenv -p python3 venv
source venv/bin/activate
pip install -r requirements.txt
You could alias the whole command to tww
for faster typing, e.g. in your .bashrc
:
alias tww="~/workspace/tww/venv/bin/python ~/workspace/tww/main.py"
More Examples
Time now (in this timezone):
$ tww now
2019-03-13 15:04:36
Time now to another timezone (UTC let's say):
$ tww now to utc
2019-03-13 15:04:36
One hour from now in UTC, showing only the time:
$ tww in 1 hour to cet --format="%T"
23:17:49
With timezone:
$ tww now to asia/tokyo
2019-03-14 07:06:35
Another time to timezone:
$ tww 15:10 to cet
2019-03-13 23:10:00
Time in one timezone (pst) to another in city:
$ tww 3/14 15 9:26:53 PST to sofia
2015-03-14 19:26:53+02:00