I could do this myself with string parsing, but I don't wanna. Seeing all the timezone functions in PHP makes me think that there has gotta be a built-in function for this. But all my google searches are pointing me to the things that don't work (see below of list of things I tried).

I have a string I obtained from someplace. String is in the following format:

2016-11-05T16:00:00-0400

This string will always represent a calender event that might occur anywhere on the planet. For example, the one above occurs in Ohio at 4pm.

The part I am concerned about is that "-0400" offset that is baked into the string already. I wanna take this string and do the necessary conversion which converts that string above into a valid GMT string with no offset at all. In other words:
- That string above is saying "Event is at 4pm Ohio time". Ohio time, at that time of year, is 4 hours short of GMT time."
- In the end I want to convert that time to GMT but the standard functions are all ignoring that baked-in offset and instead they are all using the PHP server's local timzone offset instead.
Examples of things that did NOT work when I tried them:
$timeZoneOffsetString = date("O", strtotime($datetime));
$timeZoneOffsetSeconds = (int)date("Z", strtotime($datetime));
$timezoneAbbr = date("T", strtotime($datetime));
$timezoneString = date("e", strtotime($datetime));

All of those thing gave me the local server offset, not the -4hour offset that was baked into the string.

Is there a one-liner to either do the conversion entirely, or at the very least, will extract that offset so that I can do the conversion myself without having to do a string parse?

I've experimented with timezone_offset_get but that requires I know the timezone already. I've looked at "GMTDATE" but that seems just like "date" above but assuming the server is in GMT or something. I could be using that one wrong though.

Anyone know the solution to this?
_________________________
Tony Fabris