Formatação campo Time em java

Alguém ai pode me explicar porque se eu tentar criar um objeto Time passando como parametro os millisegundos e depois formatar o valor é exibido sempre assim :

21:00:10

porque ele coloca esse maldito 21 no campo hora ? sendo que o valor esperado deveria ser 00:00:10 .

Time tempo = new java.sql.Time(10000L); String fomatada = new SimpleDateFormat("HH:mm:ss").format(tempo);

obrigado.

Valeu galera já descobri aqui, é só setar o TimeZone do SimpleDateFormat para GMT que formata direito.