Мне жаль дурака, который должен делать свидания на Яве.
То, что вы сделали, почти наверняка пойдет не так при переходе на летнее время. Лучший способ сделать это, вероятно, создать новый объект Calendar, установить для него часовой пояс, а затем установить все поля по отдельности, например, год, месяц, день, час, минута, секунда, получить значения из объекта Date .
Edit:
Чтобы все были счастливы, вам, вероятно, следует сделать следующее:
Calendar utcTime = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
Calendar sydneyTime = Calendar.getInstance(TimeZone.getTimeZone("Australia/Sydney");
utcTime.setTime(trade_date);
for (int i = 0; i < Calendar.FIELD_COUNT; i++) {
sydneyTime.set(i, utcTime.get(i));
}
Тогда вы не будете использовать устаревшие методы.