I have a DateTime in the format of `Tue, 30 Apr 2019 16:00:00 +0800` which is `RFC 2822 formatted date`

I need to convert this to the given timezone in the DateTime which is +0800

So if i summarized, 

```
DateGiven = Tue, 30 Apr 2019 16:00:00 +0800
DateWanted = 01-05-2019 00:00:00

```

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 

```
30-04-2019 08:00:00

```

Code i tried
------------

```
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) );

```