tww/README.md
2019-03-13 15:21:33 -07:00

71 lines
1.7 KiB
Markdown

# Time when and where
Find time now, in the past or future in any timezone or location.
## Usage
```
python tz.py HUMAN_TIME [HUMAN_TZ_LOC] [--format="%Y-%m-%d %H:%M:%S%z"]
```
* `HUMAN_TIME` - is any time or time-like string. See the [dateparser](https://pypi.org/project/dateparser/) for example `10:15`, `now`, `in 3 hours` and many others.
* `HUMAN_TZ_LOC` - (optional) is either timezone to which the date should be translated (fast) or a location (slow - and requires internet connection to resolve the location). Uses [geopy](https://geopy.readthedocs.io/en/stable/) for location resolution and [timezonefinder](https://pypi.org/project/timezonefinder/) for timezone resolution.
* `--format` is the format of the time to be displayed. See supported [datetime formats](https://docs.python.org/3/library/datetime.html#strftime-strptime-behavior)
You could alias the whole command to `tww` for faster typing, e.g. in your `.bashrc`:
```
alias tww="~/workspace/tz/venv/bin/python ~/workspace/tz/tz.py"
```
If `HUMAN_TIME` and/or `HUMAN_TZ_LOC` have spaces, they need to be quoted, e.g.:
```
tww "in 2 hours" "los angeles"
```
## Install
```
virtualenv -p python3 venv
source venv/bin/activate
pip install -r requirements.txt
```
## Examples
Without timezone/location:
```
$ tww now
2019-03-13 15:04:36.607080
```
Time now in another timezone
```
$ tww now CET
2019-03-13 23:07:54.957743
```
One hour from now in UTC, showing only the time:
```
$ tww "in 1 hour" utc --format="%T"
23:17:49
```
With timezone:
```
$ tww now Asia/Tokyo
2019-03-14 07:06:35.273192
```
Another time in timezone:
```
$ tww 15:10 cet
2019-03-13 23:10:00
```
Time in location (**slow!**):
```
$ tww "3/14 15 9:26:53 PST" sofia
2015-03-14 19:26:53+02:00
```