No, you have to subtract. For example, in Greece it's GMT+2, so you have to subtract 2 from localtime to get GMT. And subtracting negative timezones amounts to adding, which is of course correct.
Edit: you might get difficulties though in the case where the GMT hour actually falls out of bounds for the day due to the instructor's timezone. Continuing the Greece example, if I set the hour to be 01:00, then subtracting 2 to get GMT would put the event at 23:00 the previous day. You need to find a way to handle that. Same goes for negative instructor timezones, where the event could be pushed into the next day.