А может и не надо ничего делать вообще? Стандартные типы дат в Java (java.util.Date/Calendar) имеют встроенную обработку временных зон и даже учитывают перевод на зимнее/летнее время. Достаточно в JVM клиентов и сервера в рантайме указать (TimeZone.setDefault) правильную временную зону (обычно она устанавливается автоматически), все остальное Java сделает сама. Вы уверены, что не пытаетесь решить несуществующую проблему?