I am using moment and moment-timezone to output the airdate/time of a given TV Show (for any timezone)

The host timezone is America/Chicago

In the example below, the `dateTime` passed in is a TV show that airs in 3 hours. Which is Sunday at 9:00PM in America/Chicago, and Monday at 4:00 AM in Europe/Zagreb:

```
  determineAirTime(dateTime) {
    console.log(dateTime); // July 16th 2017 9:00PM

    dateTime = 
 momentTimezone.tz(dateTime, "MMM Do YYYY hA", momentTimezone.tz.guess());

    dateTime = dateTime.format(); // this creates: 2017-07-16T21:00:00-05:00

   // moment
   moment(dateTime).calendar(); // Today at 9:00 PM
  }

```

For my timezone (America/Chicago), `Today at 9:00 PM` is correct. However, it always outputs `Sunday 9:00 pm` for any timezone, which is incorrect.

Here is an example of the same data we used in our example, but with a different timezone:

[![enter image description here](https://i.stack.imgur.com/EyEon.png)](https://i.stack.imgur.com/EyEon.png)

The correct output for the above would be `Monday at 4:00 AM`.

How can I fix my program so that it prints out the correct air/date times for the timezone?