Lo he solucionado de la siguiente forma:
Antes de todo el bloque de código que he puesto, he escrito la siguiente instrucción:
Código:
TimeZone.setDefault(TimeZone.getTimeZone("GMT+2"));
Con eso establezco la zona horaria de España. Gracias a eso, con el mismo código que antes, obtengo la hora correcta.
Gracias y un saludo