{"id":17823220,"url":"https://github.com/purarue/time-in","last_synced_at":"2026-02-11T21:31:14.644Z","repository":{"id":188749455,"uuid":"679397385","full_name":"purarue/time-in","owner":"purarue","description":"CLI tool to figure out the time somewhere else","archived":false,"fork":false,"pushed_at":"2026-01-17T05:38:00.000Z","size":64,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-17T17:35:11.370Z","etag":null,"topics":["cli","date","timezone"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/time-in/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/purarue.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-08-16T18:39:42.000Z","updated_at":"2026-01-17T05:38:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"c1ded9dc-03b5-4271-9e98-d2082e5267de","html_url":"https://github.com/purarue/time-in","commit_stats":null,"previous_names":["seanbreckenridge/time-in","purarue/time-in"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/purarue/time-in","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/purarue%2Ftime-in","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/purarue%2Ftime-in/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/purarue%2Ftime-in/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/purarue%2Ftime-in/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/purarue","download_url":"https://codeload.github.com/purarue/time-in/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/purarue%2Ftime-in/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29345483,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-11T20:11:40.865Z","status":"ssl_error","status_checked_at":"2026-02-11T20:10:41.637Z","response_time":97,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","date","timezone"],"created_at":"2024-10-27T17:57:03.652Z","updated_at":"2026-02-11T21:31:14.618Z","avatar_url":"https://github.com/purarue.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# time-in\n\nCLI tool to figure out the time somewhere else\n\n## Installation\n\nRequires `python3.10+`\n\nTo install with pip, run:\n\n```\npip install time-in\n```\n\nTo use the interactive mode, you must have [`fzf`](https://github.com/junegunn/fzf) installed.\n\n## Usage\n\n```\ntime-in tz --help\n```\n\nIf no timezone is passed, this uses [fzf](https://github.com/junegunn/fzf) to let you select a timezone from a list of all timezones/common countries/capitals.\n\n![fzf example](https://github.com/purarue/time-in/blob/main/.github/fzf.png?raw=true)\n\n```\nUsage: time-in tz [OPTIONS] [TZ]...\n\nOptions:\n  -f, --format TEXT              format for printing dates  [default: %Y-%m-%d %H:%M:%S %Z]\n  -h, --hours INTEGER            print this many localized hours in timezones\n  --print-local / --skip-local   print the local time as well\n  -d, --date TEXT                date to print  [default: now]\n  -P, --print-local-timezone     print the local timezone name as well\n  -r, --round [up|down|nearest]  round the time to the nearest hour\n  --print-info / --hide-info     print timezone info/difference\n  -S, --sort-diffs               sort timezones by difference from the first timezone\n  --help                         Show this message and exit.\n```\n\nBy default, this uses the current time, and prints the time in the timezone(s) passed.\n\n```bash\n$ time-in tz US/Eastern\nHere        (+0)  2023-08-16 10:51:04 PDT\nUS/Eastern  (+3)  2023-08-16 13:51:04 EDT\n```\n\nIf you want to print the time in the future, you can pass a date:\n\n`$ time-in tz 'US/Eastern' --date '2023-10-16 10:30'`\n\nor, in more human language: `$ time-in tz 'US/Eastern' --date 'in 3 hours'`\n\nCan show multiple timezones:\n\n```bash\n$ time-in tz US/Mountain US/Central US/Eastern\nHere         (+0)  2023-08-16 10:51:52 PDT\nUS/Mountain  (+1)  2023-08-16 11:51:52 MDT\nUS/Central   (+2)  2023-08-16 12:51:52 CDT\nUS/Eastern   (+3)  2023-08-16 13:51:52 EDT\n```\n\nTo label the timezones differently, you can prepend it with a label:\n\n```bash\n$ time-in tz 'East Coast: US/Eastern' 'UK: Europe/London'\nHere        (+0)  2023-08-16 10:52:04 PDT\nEast Coast  (+3)  2023-08-16 13:52:04 EDT\nUK          (+8)  2023-08-16 18:52:04 BST\n```\n\nThis can also show the next few hours, which is useful for coordinating with others, if you pass `--hours`:\n\n```bash\n$ time-in tz 'East Coast: US/Eastern' 'UK: Europe/London' --hours 12 --round down\nHere        (+0)  [Aug 16]  10  11  12  13  14  15  16  17  18  19  20  21\nEast Coast  (+3)  [Aug 16]  13  14  15  16  17  18  19  20  21  22  23  00\nUK          (+8)  [Aug 16]  18  19  20  21  22  23  00  01  02  03  04  05\n```\n\n```bash\n$ time-in tz -h 6 -r down --print-local-timezone US/Eastern Europe/London Asia/Calcutta Asia/Shanghai Asia/Tokyo US/Hawaii\nAmerica/Los_Angeles  (+0)     [Aug 16]  10     11     12     13     14     15\nUS/Eastern           (+3)     [Aug 16]  13     14     15     16     17     18\nEurope/London        (+8)     [Aug 16]  18     19     20     21     22     23\nAsia/Calcutta        (+12.5)  [Aug 16]  22:30  23:30  00:30  01:30  02:30  03:30\nAsia/Shanghai        (+15)    [Aug 17]  01     02     03     04     05     06\nAsia/Tokyo           (+16)    [Aug 17]  02     03     04     05     06     07\nUS/Hawaii            (-3)     [Aug 16]  07     08     09     10     11     12\n```\n\n## Example Usage\n\nI create a wrapper `tz` script that just passes the arguments to `time-in tz`:\n\n```bash\n#!/bin/sh\nexec time-in tz \"$@\"\n```\n\nAnd then have a `tz-friends` functions in my shell for my friends in different timezones:\n\n```bash\ntz-friends () {\n\ttz \"$@\" 'East Coast: America/New_York' 'Japan: Asia/Tokyo' 'UK: Europe/London' 'India: Asia/Calcutta'\n}\n```\n\n```bash\n$ tz-friends\nHere        (+0)     2023-08-17 21:12:57 PDT\nEast Coast  (+3)     2023-08-18 00:12:57 EDT\nJapan       (+16)    2023-08-18 13:12:57 JST\nUK          (+8)     2023-08-18 05:12:57 BST\nIndia       (+12.5)  2023-08-18 09:42:57 IST\n$ tz-friends -h 6 -r down\nHere        (+0)     [Aug 17]  21     22     23     00     01     02\nEast Coast  (+3)     [Aug 18]  00     01     02     03     04     05\nJapan       (+16)    [Aug 18]  13     14     15     16     17     18\nUK          (+8)     [Aug 18]  05     06     07     08     09     10\nIndia       (+12.5)  [Aug 18]  09:30  10:30  11:30  12:30  13:30  14:30\n```\n\n### Tests\n\n```bash\ngit clone 'https://github.com/purarue/time-in'\ncd ./time_in\npip install '.[testing]'\nflake8 ./time_in\nmypy ./time_in\n```\n\n### Attributions\n\n- The hours format was heavily influenced by [this script](https://superuser.com/a/1397116)\n- Thanks to [this gist](https://gist.github.com/mjrulesamrat/0c1f7de951d3c508fb3a20b4b0b33a98) for country/city data for timezones\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpurarue%2Ftime-in","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpurarue%2Ftime-in","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpurarue%2Ftime-in/lists"}