簡體   English   中英

如何將CET時間轉換為設備上的本地時間?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM