title: Showing correct time from Milliseconds with desired TimeZone
body: <p>I'm developing an application which takes data from <code>Google TimeZone API</code>.
  Simply I have time in milliseconds of desired place on Earth.</p>
  
  <p>For Example : <code>1504760156000</code> it's showing Date time In London which is </p>
  
  <blockquote>
    <p>Thu Sep 07 2017 09:55:56</p>
  </blockquote>
  
  <p>As I'm in TimeZone <code>+05:00</code> from UTC if I manipulate <code>1504760156000</code> these milliseconds it will show me whole date time like below:</p>
  
  <blockquote>
    <p>Thu Sep 07 2017 09:55:56 GMT+0500 (Pakistan Standard Time)</p>
  </blockquote>
  
  <p>but I want to show:</p>
  
  <blockquote>
    <p>Thu Sep 07 2017 09:55:56 GMT+0100 (British Summer Time)</p>
  </blockquote>
  
  <p><strong>The problem is</strong>: I have correct date and time for London but enable to show/change TimeZone without changing Time because Time is correct according to London.</p>
  
  <p><strong>UPDATED</strong></p>
  
  <p>After getting some comments. You are not getting me here in my example.</p>
  
  <p>Suppose I am in Pakistan and Time here is <code>1:55 PM</code> so I asked GOOGLE API via my application to tell me whats the time in London at moment. Google API tell me time in London is <code>1504760156000</code> (9:55 AM) in milliseconds if I convert these milliseconds to <code>Date</code> Object it will print out like below:</p>
  
  <pre><code>Date date =new Date(1504760156000)
  </code></pre>
  
  <blockquote>
    <p>Thu Sep 07 2017 09:55:56 GMT+0500 (Pakistan Standard Time)</p>
  </blockquote>
  
  <p>It will manipulate it according to my Local TimeZone but I want results like below</p>
  
  <blockquote>
    <p>Thu Sep 07 2017 09:55:56 GMT+0100 (British Summer Time)</p>
  </blockquote>
  
  <p><strong>Updated 2</strong></p>
  
  <p>I prepared timestamp in seconds in UTC as Google Time Zone API needed timestamp UTC in form of seconds</p>
  
  <pre><code>"https://maps.googleapis.com/maps/api/timezone/json?location="+Latitude +","+Longitude+"&amp;timestamp="+currentTimeUTCinSeonds+"&amp;key="API KEY"
  </code></pre>
  
  <p>Google API respond me with below JSON against London.</p>
  
  <pre><code>{
      "dstOffset" : 3600,   
      "rawOffset" : 0,  
      "status" : "OK",  
      "timeZoneId" : "Europe/London",  
      "timeZoneName" : "British Summer Time"
  }
  </code></pre>
  
  <p>According to Docs:</p>
  
  <blockquote>
    <p>Calculating the Local Time</p>
    
    <p>The local time of a given location is the sum of the timestamp
    parameter, and the dstOffset and rawOffset fields from the result.</p>
  </blockquote>
  
  <p>I Sum up result <code>timestamp+rawoffset+dstoffset*1000='1504760156000'</code>  (at moment when I tried it)</p>
  
  <p>Code from Project </p>
  
  <pre><code>Long ultimateTime=((Long.parseLong(timeObject1.getDstOffset())*1000)+(Long.parseLong(timeObject1.getRawOffset())*1000)+timestamp*1000);
                      timeObject1.setTimestamp(ultimateTime);  //its Sime POJO object to save current time of queried Location 
                      Date date=new Date(ultimateTime);
                      date1.setText("Date Time : "+date);
  </code></pre>
  
  <p>As I said I'm manipulating result in Local Time Zone so it gave me below result at that time:</p>
  
  <blockquote>
    <p>Thu Sep 07 2017 09:55:56 GMT+0500 (Pakistan Standard Time)</p>
  </blockquote>
  
  <p>But I knew API gave me correct time. The problem is Local offset from UTC . I just want to change <code>GMT+0500</code> to <code>GMT+0100</code></p>