title: Convert UTC time to local time zone
body: <p>I have to convert UTC time into user local time zone. Currently, I have the two parameters one is time in long format and another is time zone name in string format like "(UTC-05:00) Eastern Time (US and Canada), (UTC-06:00) Central Time (US and Canada)" etc.</p>
  
  <p>So now using these two parameters I have to get date time in string format. I am facing the issue while I am trying to convert the date into a string because the SimpleDateFormat.format(...) will convert the date using its default time zone.</p>
  
  <p>Below are the code portion</p>
  
  <pre><code>public static void main(String[] args) 
  {
  long time = 1490112300000L;
  System.out.println("UTC Time "+ convertLongToStringUTC(time));
  
  String EST = "(UTC-05:00) Eastern Time (US and Canada)";
  TimeZone  timeZone1 = TimeZone.getTimeZone(EST);
  System.out.println("EST "+ convertTimeZone(time, timeZone1));
  
  String CST = "(UTC-06:00) Central Time (US and Canada)";
  TimeZone timeZone2 = TimeZone.getTimeZone(CST); 
  System.out.println("CST "+ convertTimeZone(time, timeZone2));
  
  String IST =  "IST";
  TimeZone timeZone = TimeZone.getTimeZone(IST);      
  System.out.println("IST "+ convertTimeZone(time, timeZone));    
  </code></pre>
  
  <p>}</p>
  
  <pre><code>public String convertTimeZone(long time, TimeZone timeZone)
  {
  Date date = new Date(time);
  DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  format.setTimeZone(timeZone);
  return format.format(date);
  }   
  
  public String convertLongToStringUTC(long time)
  {
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
  String utcTime = sdf.format(new Date(time));
  return utcTime;
  }
  </code></pre>
  
  <p>Also let me know if we can achieve this using offset ?</p>