Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bramus/meetingzone

Find a meeting time across timezones
https://github.com/bramus/meetingzone

Last synced: 5 days ago
JSON representation

Find a meeting time across timezones

Awesome Lists containing this project

README

        

![Find a meeting time across timezones.](./screenshots/meetingzone.png)
# MeetingZone

Find a meeting time across timezones.

## Installation

This package is meant to be used on the CLI, so preferably install it globally.

```bash
npm i -g meetingzone
```

Alternatively, run it directly using `npx`

```bash
npx meetingzone
```

Requires Node 18+

## Usage

### Default Usage

Invoke `meetingzone` to see a time table printed. By default, `meetingzone` will assume todays date (in your timezone) and use a default set of timezones.

```
+----------------------------+----------------------------+----------------------------+----------------------------+----------------------------+
| UTC | America/Los_Angeles | America/New_York | Europe/London | Europe/Brussels |
|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|
| 2022-07-21 22:00:00 +00:00 | 2022-07-21 15:00:00 -07:00 | 2022-07-21 18:00:00 -04:00 | 2022-07-21 23:00:00 +01:00 | 2022-07-22 00:00:00 +02:00 |
| 2022-07-21 23:00:00 +00:00 | 2022-07-21 16:00:00 -07:00 | 2022-07-21 19:00:00 -04:00 | 2022-07-22 00:00:00 +01:00 | 2022-07-22 01:00:00 +02:00 |
| 2022-07-22 00:00:00 +00:00 | 2022-07-21 17:00:00 -07:00 | 2022-07-21 20:00:00 -04:00 | 2022-07-22 01:00:00 +01:00 | 2022-07-22 02:00:00 +02:00 |
| 2022-07-22 01:00:00 +00:00 | 2022-07-21 18:00:00 -07:00 | 2022-07-21 21:00:00 -04:00 | 2022-07-22 02:00:00 +01:00 | 2022-07-22 03:00:00 +02:00 |
| 2022-07-22 02:00:00 +00:00 | 2022-07-21 19:00:00 -07:00 | 2022-07-21 22:00:00 -04:00 | 2022-07-22 03:00:00 +01:00 | 2022-07-22 04:00:00 +02:00 |
| 2022-07-22 03:00:00 +00:00 | 2022-07-21 20:00:00 -07:00 | 2022-07-21 23:00:00 -04:00 | 2022-07-22 04:00:00 +01:00 | 2022-07-22 05:00:00 +02:00 |
| 2022-07-22 04:00:00 +00:00 | 2022-07-21 21:00:00 -07:00 | 2022-07-22 00:00:00 -04:00 | 2022-07-22 05:00:00 +01:00 | 2022-07-22 06:00:00 +02:00 |
| 2022-07-22 05:00:00 +00:00 | 2022-07-21 22:00:00 -07:00 | 2022-07-22 01:00:00 -04:00 | 2022-07-22 06:00:00 +01:00 | 2022-07-22 07:00:00 +02:00 |
| 2022-07-22 06:00:00 +00:00 | 2022-07-21 23:00:00 -07:00 | 2022-07-22 02:00:00 -04:00 | 2022-07-22 07:00:00 +01:00 | 2022-07-22 08:00:00 +02:00 |
| 2022-07-22 07:00:00 +00:00 | 2022-07-22 00:00:00 -07:00 | 2022-07-22 03:00:00 -04:00 | 2022-07-22 08:00:00 +01:00 | 2022-07-22 09:00:00 +02:00 |
| 2022-07-22 08:00:00 +00:00 | 2022-07-22 01:00:00 -07:00 | 2022-07-22 04:00:00 -04:00 | 2022-07-22 09:00:00 +01:00 | 2022-07-22 10:00:00 +02:00 |
| 2022-07-22 09:00:00 +00:00 | 2022-07-22 02:00:00 -07:00 | 2022-07-22 05:00:00 -04:00 | 2022-07-22 10:00:00 +01:00 | 2022-07-22 11:00:00 +02:00 |
| 2022-07-22 10:00:00 +00:00 | 2022-07-22 03:00:00 -07:00 | 2022-07-22 06:00:00 -04:00 | 2022-07-22 11:00:00 +01:00 | 2022-07-22 12:00:00 +02:00 |
| 2022-07-22 11:00:00 +00:00 | 2022-07-22 04:00:00 -07:00 | 2022-07-22 07:00:00 -04:00 | 2022-07-22 12:00:00 +01:00 | 2022-07-22 13:00:00 +02:00 |
| 2022-07-22 12:00:00 +00:00 | 2022-07-22 05:00:00 -07:00 | 2022-07-22 08:00:00 -04:00 | 2022-07-22 13:00:00 +01:00 | 2022-07-22 14:00:00 +02:00 |
| 2022-07-22 13:00:00 +00:00 | 2022-07-22 06:00:00 -07:00 | 2022-07-22 09:00:00 -04:00 | 2022-07-22 14:00:00 +01:00 | 2022-07-22 15:00:00 +02:00 |
| 2022-07-22 14:00:00 +00:00 | 2022-07-22 07:00:00 -07:00 | 2022-07-22 10:00:00 -04:00 | 2022-07-22 15:00:00 +01:00 | 2022-07-22 16:00:00 +02:00 |
| 2022-07-22 15:00:00 +00:00 | 2022-07-22 08:00:00 -07:00 | 2022-07-22 11:00:00 -04:00 | 2022-07-22 16:00:00 +01:00 | 2022-07-22 17:00:00 +02:00 |
| 2022-07-22 16:00:00 +00:00 | 2022-07-22 09:00:00 -07:00 | 2022-07-22 12:00:00 -04:00 | 2022-07-22 17:00:00 +01:00 | 2022-07-22 18:00:00 +02:00 |
| 2022-07-22 17:00:00 +00:00 | 2022-07-22 10:00:00 -07:00 | 2022-07-22 13:00:00 -04:00 | 2022-07-22 18:00:00 +01:00 | 2022-07-22 19:00:00 +02:00 |
| 2022-07-22 18:00:00 +00:00 | 2022-07-22 11:00:00 -07:00 | 2022-07-22 14:00:00 -04:00 | 2022-07-22 19:00:00 +01:00 | 2022-07-22 20:00:00 +02:00 |
| 2022-07-22 19:00:00 +00:00 | 2022-07-22 12:00:00 -07:00 | 2022-07-22 15:00:00 -04:00 | 2022-07-22 20:00:00 +01:00 | 2022-07-22 21:00:00 +02:00 |
| 2022-07-22 20:00:00 +00:00 | 2022-07-22 13:00:00 -07:00 | 2022-07-22 16:00:00 -04:00 | 2022-07-22 21:00:00 +01:00 | 2022-07-22 22:00:00 +02:00 |
| 2022-07-22 21:00:00 +00:00 | 2022-07-22 14:00:00 -07:00 | 2022-07-22 17:00:00 -04:00 | 2022-07-22 22:00:00 +01:00 | 2022-07-22 23:00:00 +02:00 |
+----------------------------+----------------------------+----------------------------+----------------------------+----------------------------+
```

`meetingzone` will colorize the printed table for easy parsing:

- red = normal sleeping hours
- orange = general non-working hours
- green = general working hours

### Specifying timezones

You can pass in the timezones you want to see printed by adding them as arguments to `meetingzone`

```bash
meetingzone Europe/Brussels America/New_York Australia/Sydney
```

If not given, `meetingzone` will prepend the timezone `UTC` to the list of timezones.

### Specifying a target date

To specify a target date, pass it in as the last argument to `meetingzone`

```bash
meetingzone Europe/Brussels America/New_York Australia/Sydney 2022-10-30
```

Also works without specifying any timezones

```
meetingzone 2022-10-30
```

## License

`meetingzone` is released under the MIT public license. See the enclosed `LICENSE` for details.