Looks like we may be able to use TimeZone.getDefault().getRawOffset() / 3600000? I think that should get us the same value, a bit simpler