[英]How to convert CET time to local time on device?
我有三個不同的時間:
服務器上的時間-“ 2014年2月19日星期三,歐洲中部時間 ”
服務器上開始會議的時間-“ 12:00h ”
設備上的時間-“ 13:49 ”
我需要獲取開始在設備上開會的時間... this->“ 14:00h ”或開會的時間->“ 11m ”
我正在嘗試通過使用:
long ts = System.currentTimeMillis();
Date localTime = new Date(ts);
String gmt_time="12:00h";
SimpleDateFormat format = new SimpleDateFormat("HH:mm'h'");
format.setTimeZone(TimeZone.getTimeZone("GMT"));
Date d_date = null;
d_date = format.parse(gmt_time);
format.setTimeZone(TimeZone.getTimeZone("UTC"));
Date fromGmt = new Date(d_date.getTime() + TimeZone.getDefault().getOffset(localTime.getTime()));
String new_date=format.format(fromGmt);
但是new_date的結果是“ 15:00h” (我需要“ 14:00h ”)
您對Wed, 19 Feb 2014
CET
= GMT
假設似乎不正確-請參閱此處 。
CET比格林尼治標准時間早一個小時
11:44 CET表示格林尼治標准時間10:44
因此,當您從GMT時間和本地時間計算出偏差時,會為其增加一個小時。
更改format.setTimeZone(TimeZone.getTimeZone("GMT"));
format.setTimeZone(TimeZone.getTimeZone("CET"));
它應該可以按預期工作。
快速找到解決方案
String cet_time="12.11.14"+" "+"12:00h";
SimpleDateFormat format = new SimpleDateFormat("dd.MM.yy' 'HH:mm'h'");
format.setTimeZone(TimeZone.getTimeZone("CET"));
Date d_date = format.parse(cet_time);
( new SimpleDateFormat("dd.MM.yy")).format(fromGmt);//new date String
( new SimpleDateFormat("HH:mm'h'")).format(fromGmt);//new time String
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.