Come ottenere la data e l’ora correnti del fuso orario in Java?

Ho la mia app ospitata su un server di Londra. Sono a Madrid, in Spagna. Quindi il fuso orario è di -2 ore.

Come posso ottenere la data / ora corrente con il mio fuso orario.

Date curr_date = new Date(System.currentTimeMillis()); 

per esempio

 Date curr_date = new Date(System.currentTimeMillis("MAD_TIMEZONE")); 

Con Joda-Time

 DateTimeZone zone = DateTimeZone.forID("Europe/Madrid"); DateTime dt = new DateTime(zone); int day = dt.getDayOfMonth(); int year = dt.getYear(); int month = dt.getMonthOfYear(); int hours = dt.getHourOfDay(); int minutes = dt.getMinuteOfHour();