При использовании:
Date localTime = new Date();
Вы получаете текущее время.Поэтому каждый раз, когда вы вызываете новую дату ();время будет другим.Вы должны вызывать new Date () только один раз и использовать этот объект для остальной части вашего кода.Если вам нужны 2 объекта Date из разных часовых поясов, используйте:
Date localTime = new Date();
Date newDate = new Date(localTime.getTime());
Таким образом, вы синхронизируете 2 раза.
Дата не имеет часового пояса, поэтому вам нужно указать годмесяц и день, а также время для уточнения.