Si, il segno e' invertito e la differenza e' data in minuti.

Ti posto la mia funzione originaria
codice:
function GMT() {
	t = (new Date()).getTimezoneOffset();
	s = (t<0)?'+':'-';
	return s+String(10000+Math.abs(t*10/6)).substr(1);
}
ciao