I travel a lot and change timezones quite often. Is there a way to let Calendar detect and change timezone automatically so I can work with Calendar in the same timezone I'm currently in?
I don't think Calendar will automatically change the time zone. In fact, it probably shouldn't, otherwise it could be confusing if the user didn't notice it has changed.
However there are two things you can easily do:
Enable Set time zone automatically using current location in System Preferences > Date & Time > Time Zone. This will ensure that the machine time zone is always correct.
Then, in the Calendar, select the time zone in the top right corner. In this dropdown, there should normally be all the time zones associated with the calendar events, as well as the current time zone. Select the current one, and that should do it. Since this setting is saved, you only need to do it once every time you change the time zone.
Automatically - don't think so. The least you can do, however, is enable Time-zone support in Calendar. To do so go to
Calendar > Preferences and check
Turn on time zone support. Next, you can switch between time zones from the top-right corner of the Calendar application.