我正在開發一個GPS應用程序。它將每隔一小時將位置數據發送到服務器。使用GPS(LocationManager)如何獲取當前時間?
在此我使用下面的代碼:
location.getLatitude();
location.getLongitude();
location.getTime();
與此代碼我得到緯度和經度正確的時間還可以,但我得到了一些13位數字,而不是時間。我對此做了一些研究,發現這是當前時間的一秒。
所以現在我需要將該13位數字轉換爲特定格式。
我正在開發一個GPS應用程序。它將每隔一小時將位置數據發送到服務器。使用GPS(LocationManager)如何獲取當前時間?
在此我使用下面的代碼:
location.getLatitude();
location.getLongitude();
location.getTime();
與此代碼我得到緯度和經度正確的時間還可以,但我得到了一些13位數字,而不是時間。我對此做了一些研究,發現這是當前時間的一秒。
所以現在我需要將該13位數字轉換爲特定格式。
Location#getTime()
回報「自1月1日此修復程序的UTC時間,以毫秒爲單位,1970年」
這與java.util.Date#getTime()
的行爲完全相同。我不是你想用這段時間的數據做什麼明確的,但如果你想在Location
的時間轉換成java.util.Date
,你可以做這樣的:
long time = location.getTime();
Date date = new Date(time);
現在與它合作更容易一些。如果您想創建日期的特定字符串的輸出格式,使用SimpleDateFormat
:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String text = sdf.format(date);
System.out.println(text); // prints something like 2011-01-08 13:35:48
也就是說,如果你想要做的就是當前時間(這是什麼聽起來好像你正在試圖做的),你不需要Location
都:
Date now = new Date();
這就是它!
這有幫助嗎?如果不是,你能澄清你想要做什麼嗎?
Date date = new Date(location.getTime());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String myDate= sdf.format(date);
System.out.println(myDate)
String timestamp = parseDate(location.getTime().toDate());
public String parseDate(Date date){
String format = "yyyy-MM-dd HH:mm:ss";
SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.US);
return sdf.format(date).toString();
}
我想在什麼時候該位置捕獲的時間和地點發送的時候,我已經發送給服務器不是當前的時間 – Jagan 2011-01-10 09:08:49
馬特感謝您的寶貴答覆..它幫助我很多 – Jagan 2011-01-10 09:09:35