Ты правильно сейчас сказал. При usedst должно отниматься час от серверного времени. Но не от GMToffset. Т.к. само значение GMToffset это сколько нужно отнять от серверного времени, чтобы получить гринвич, то при UseDst к Gmtoffset нужно прибавлять +1.
А формула какая-то странная, хотя я просто не знаю где дальше Gmt там применяется, возможно все правильно работает.
Кстати, я тут подумал, а какой смысл в этом usedst, если autoGMToffset определяется по формуле (утрировано) "серверное время-гринвичское", то оно всегда будет правильно определяться. UseDst есть смысл использовать только при мануальном GMToffset
А формула какая-то странная, хотя я просто не знаю где дальше Gmt там применяется, возможно все правильно работает.
Кстати, я тут подумал, а какой смысл в этом usedst, если autoGMToffset определяется по формуле (утрировано) "серверное время-гринвичское", то оно всегда будет правильно определяться. UseDst есть смысл использовать только при мануальном GMToffset