2013-04-13 60 views
3

無論用戶位置和當前設備時間如何獲得德國當前時間?在德國獲得時間 - Android

Calendar buttoncal = Calendar.getInstance(); 
    String tdate = new SimpleDateFormat("dd.MM",Locale.GERMANY).format(buttoncal.getTime()); 
    String tday = new SimpleDateFormat("EEEE",Locale.GERMANY).format(buttoncal.getTime()); 


    one_date.setText(tdate.toString()); 
    one_day.setText(tday); 

回答

3

您可以指定需要使用的時區:

Calendar c = Calendar.getInstance(TimeZone.getTimeZone("Europe/Berlin")); 

對於可用時區的列表:TimeZone.getAvailableIDs()

注意:SimpleDateFormat中的語言環境用於讀取/格式化該語言環境中的字符串 - 例如,使用德語語言環境,將以德語打印月/日名稱。但它與時區無關。

+0

我通過TimeZone.getTimeZone(「歐洲/柏林」),但它仍然是給當前設備的時間在柏林/德國不是當前的時間。 –

+0

我通過了TimeZone.getTimeZone(「歐洲/柏林」),但它仍然給現在的設備時間不是當前柏林/德國的時間。 –

0

嘗試使用這樣的:

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.GERMANY); 
Date date = new Date(); 
dateFormat.format(date); 

你會得到的格式爲 「YYYY-MM-DD HH:MM」 的 '日期'。然後,您可以使用.split()將空格作爲分隔符分割返回的字符串格式。喜歡的東西:

String[] str_array = date.toString().split(" "); 
String time = str_array[1];