2015-04-05 63 views
0

我試圖在「onLocationChanged」方法中獲取時間戳,但沒有成功。如何在「onLocationChanged」方法中藉助location.getTime設置時間戳?經度和緯度正在顯示。在onLocationChanged方法中設置時間戳

public void onLocationChanged(Location location) { 
 
\t \t \t // TODO Auto-generated method stub 
 
\t \t \t if (location != null) { 
 
\t \t \t \t double plong = location.getLongitude(); 
 
\t \t \t \t double pLat = location.getLatitude(); 
 

 
\t \t \t Date d = new Date(); 
 
\t \t \t SimpleDateFormat sdf = new SimpleDateFormat("dd.mm.yyyy hh:mm:ss"); 
 
\t \t \t String s = sdf.format(d); 
 
\t \t \t textTime.setText(s); 
 

 
\t \t \t \t textLat.setText(Double.toString(pLat)); 
 
\t \t \t \t textLong.setText(Double.toString(plong)); 
 

 
\t \t \t } 
 
\t \t }

+0

我不知道是否Android的時間戳工作,它已被棄用。你有沒有嘗試日期而不是 – faljbour 2015-04-05 16:35:04

+0

看到這篇文章,http://stackoverflow.com/questions/16579921/android-locatoin-gettime-always-returns-big-different-time – faljbour 2015-04-05 16:48:59

回答

0

我只想試試這個:

public void onLocationChanged(Location location) { 
    Timestamp time = new Timestamp(location.getTime()); 

    textTime.setText(time.toString()); 
} 

指定自定義輸出字符串格式的優良使用SimpleDateFormat

public void onLocationChanged(Location location) { 
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); 
    String formatted = sdf.format(new Date(location.getTime())); 

    textTime.setText(formatted); 
} 
+0

我更新的答案效果很好,但我想用「 location.getTime()「方法。有沒有什麼辦法可以從location.getTime()格式獲取秒數位數? location.getTime()的當前輸出爲「2015-04-05 23:17:26.0」,最後爲0位。用我的代碼,我可以確定使用的格式,例如「dd.mm.yyyy hh:mm:ss」==>不帶秒位數字「dd.mm.yyyy hh:mm」我想要沒有秒位的時間戳。 – 2015-04-05 21:21:14