title: Java Date Time conversion to given timezone
body: <p>I have a DateTime in the format of <code>Tue, 30 Apr 2019 16:00:00 +0800</code> which is <code>RFC 2822 formatted date</code></p>
  
  <p>I need to convert this to the given timezone in the DateTime which is +0800</p>
  
  <p>So if i summarized, </p>
  
  <pre><code>DateGiven = Tue, 30 Apr 2019 16:00:00 +0800
  DateWanted = 01-05-2019 00:00:00
  </code></pre>
  
  <p>How can i achieve this in Java? 
  I have tried the below code but it gives 08 hours lesser than the current time which is </p>
  
  <pre><code>30-04-2019 08:00:00
  </code></pre>
  
  <h2>Code i tried</h2>
  
  <pre><code>String pattern = "EEE, dd MMM yyyy HH:mm:ss Z";
  SimpleDateFormat format = new SimpleDateFormat(pattern);
  Date startDate = format.parse(programmeDetails.get("startdate").toString());
  
  //Local time zone   
   SimpleDateFormat dateFormatLocal = new SimpleDateFormat("yyyy-MMM-dd HH:mm:ss");
  
  //Time in GMT
  Date dttt= dateFormatLocal.parse( dateFormatGmt.format(startDate) );
  </code></pre>