I'm trying to set the timezone on Date object based on the airport. it's reseting the time zone from EST to the local time zone CST when I parse it from String to date again.
private Date formatDate(final Date date, final FlightStop stop) {
DateFormat sdf = new SimpleDateFormat("MM/dd/yy hh:mm aa zzz");
sdf.setTimeZone(TimeZone.getTimeZone(stop.getAirport().getTimeZone().getID()));
try {
LOG.debug("before parsing -> sdf.format(date) : " + sdf.format(date)); //03/03/20 10:45 AM EST
LOG.debug("after parsing -> sdf.parse(sdf.format(date)) : " + sdf.parse(sdf.format(date))); //after parsing Tue Mar 03 09:45:00 CST
return sdf.parse(sdf.format(date));
} catch (Exception e) {
return new Date();
}
}
Updated: Method call:
public void sendMessage(final Date endingStopDate, final FlightStop endingStop) {
Date endDate = formatDate(endingStopDate, endingStop);
traveler.setDate(endDate);