The Etc/GMT+2, Etc/GMT-5 etc. timezones are incorrectly labeled on systems that use GNU glibc. All the timezone labels starting with "Etc/" have plus and minus characters reversed. That is, if you want time for GMT+4 you have to set the timezone to "Etc/GMT-4". This is because (old) POSIX standard has them this way! The official party line seems to be DO NOT USE Etc/* TIMEZONES. It's not a bug, it's a compability feature!