2011-01-08 12 views
1

Ich entwickle eine GPS-Anwendung. Das sendet die Standortdaten für jede Stunde an den Server.Verwenden des GPS (LocationManager) Wie bekomme ich die aktuelle Zeit?

In diesem ich folgenden Code verwende:

location.getLatitude(); 
location.getLongitude(); 
location.getTime(); 

mit diesem Code Ich erhalte Breite und Länge korrekt und Zeit auch, aber ich bin schon daran gedacht eine 13-stellige Nummer anstelle der Zeit. Ich habe etwas darüber recherchiert, ich fand, das ist ein Sekundenbruchteil für die aktuelle Zeit.

so jetzt muss ich diese 13-stellige Zahl in das spezifische Format konvertieren.

Antwort

12

Location#getTime() gibt "die UTC-Zeit dieses Updates in Millisekunden seit dem 1. Januar 1970 zurück."

Dies ist genau das gleiche Verhalten wie java.util.Date#getTime(). Ich bin mir nicht klar, was Sie möchten mit dieser Zeit Daten zu tun, aber wenn Sie die Zeit s‘Location konvertieren möchten in eine java.util.Date, können Sie es wie folgt tun:

long time = location.getTime(); 
Date date = new Date(time); 

Jetzt es ist etwas einfacher mit zu arbeiten. Wenn Sie möchten, dass eine bestimmte Zeichenfolge Ausgabeformat von diesem Zeitpunkt erstellen, verwenden Sie 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 

Das heißt, wenn alle würden Sie tun, um die aktuelle Zeit zu bekommen (was, was es ist klingt wie Sie was Sie zu tun) nicht brauchen eine Location überhaupt sind versuchen:

Date now = new Date(); 

das ist es!


Hilft das? Wenn nicht, könnten Sie klären, was Sie zu tun versuchen?

+0

Ich möchte zu der Zeit mit Ort schicken, was Zeit, Ort, die Zeit erfasst wird, muss ich Server senden nicht die aktuelle Zeit – Jagan

+0

Dank Matt für Ihre wertvolle Antwort .. es hilft mir viel – Jagan

+0

Hallo Matt, Sie haben eine Idee, den NMEA-Satz des Ortes zu bekommen, den ich NmeaListener, aber kein Ergebnis verwendet habe. Helfen Sie mir, diesen NMEA-Satz zu bekommen und das in meinem Gerät anzuzeigen, indem Sie das TextView t = (TextView) findById (R.id .TextView1); t.append ("Ort im NMEA-Format:" + nmea); Wie ist es möglich .. geben Sie mir Ihren Vorschlag und wenn möglich Code Zeilen, die gibt die Ausgabe – Jagan

2
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) 
+0

dieser Code hilft Ihnen, Datum und Uhrzeit mit GPS in Java und Android zu bekommen. – bajarang

1
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(); 
} 
Verwandte Themen