2016-01-20 81 views
1

在這裏,我的代碼是將ISO轉換爲IST和ISO轉換爲GMT。如何將ISO時間轉換爲android中的IST和GMT?

Log.e("ISO TIME",""+time);//The time which i got from JSON file. 
      //IST TIME ZONE 
      Date date=new Date(); 
      DateFormat format=DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.FULL); 
      SimpleDateFormat simpleDateFormat=new SimpleDateFormat(); 
      simpleDateFormat.applyPattern("yyyy-MM-dd'T'HH:mm'+00':ss"); 
      date = simpleDateFormat.parse(time.toString()); 
      format.setTimeZone(simpleDateFormat.getTimeZone()); 
      Log.e("IST TIME", "" + format.format(date)); 

      //GMT TIME ZONE 
      Date date1=new Date(); 
      SimpleDateFormat sdf=(SimpleDateFormat)DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL); 
      sdf.applyPattern("yyyy-MM-dd'T'HH:mm'+00':ss"); 
      date1=sdf.parse(time); 
      sdf.setTimeZone(TimeZone.getTimeZone("GMT")); 
      Log.e("GMT TIME", "" + sdf.format(date1)); 

這裏,是我的輸出

E/ISO TIME: 2016-01-18T08:40+00:00 
E/GMT TIME: 2016-01-18T03:10+00:00 
E/IST TIME: Jan 18, 2016 8:40:00 AM India Standard Time 

問題是IST和GMT之間的實際差異5:30 但在我輸出我是有區別究竟5:30

請幫我解決這個問題。

+6

區別是5:30你有5:30。現在有什麼問題? –

+0

我會檢查... –

+0

在第二個輸出我得到了這樣的 –

回答

1

@Logic絕對是對的。 但我有一些建議你的。

您需要在GMT時間加上5:30小時,那麼您將獲得IST。 5小時內不要加入你的IST時間。

看看下面這個例子 您的IST時間是8:40和GMT時間爲3:10

1小時添加的每個操作

圓括號1小時添加每次迭代:

3:10→4:10(1)→5:10(2)→6:10(3)→7:10(4)→8:10(5)

剩餘的IST時間分鐘完成一小時是00:20

將00:20加入8:10將變成8:30。

取GMT時間除了 3:20

你的代碼是完全正確的

相關問題