While extracting from the database, all the fields are taken as string, start_date is formatted with to_char to be in this format. YYYY-MM-dd hh:mm:ss.
Based on your responses, I got that I need to convert my string to date, then convert the timezone.
I did this and it worked fine.
Date date1= new SimpleDateForat("YYYY-MM-dd hh:mm:ss").parse(StartDate);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date1);
SimpleDateForat estdate = new SimpleDateFormat("YYYY-MM-dd hh:mm:ss");
estdate.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.println(estdate.format(calendar.getTime()));
Thanks all.