2011-06-29 17 views
5

Pozdrowienia!Format daty i czasu

Zrobiłem projekt, który można wysłać Współrzędne GPS do numeru telefonu Automatycznie, odbiorcy otrzymali jak w poniższym przykładzie formacie „lat: +14,7836139 długa: 12,71104 prędkość: 0.0 Data: 1309325189000
i teraz chcę format daty i godziny takiej jak ta Data: dd/mm/rr gg: mm Ktoś, kto może mi pomóc?

Oto mój przykładowy kod, którego używam.

public void onLocationChanged(Location loc) 

{ 

loc.getLatitude(); 

loc.getLongitude(); 
String Text = "lat:" + loc.getLatitude() + " " 
+ "long:" + loc.getLongitude()+" " 
+ "speed:" + loc.getSpeed() +" " 
+ "date:" + loc.getTime(); 

Toast.makeText(getApplicationContext(), 

Text, 

Toast.LENGTH_SHORT).show(); 
String phoneNo = txtPhoneNo.getText().toString(); 


if (phoneNo.length()>0 && Text.length()>0)     
    sendSMS(phoneNo, Text);    


} 
+0

Nigdy nie należy twardo kodować tego formatu daty. Kodowany międzynarodowo standardowego formatu rrrr-mm-dd GG: MM (lub odczytywana przez komputer forma taka jak 2011-06-29T14: 26: 54Z) lub użyj formatu wybranego przez użytkownika/opartego na lokalizacji. –

Odpowiedz

0

SimpleDateFormat powinien zrobić lewy, można następnie ustawić maskę formatu samodzielnie. Alternatywnie możesz użyć klasy Android, ale jest to nieco bardziej skomplikowana maska.

SimpleDateFormat dateTimeFormat = new SimpleDateFormat("dd/MM/yy HH:mm"); 
dateTimeFormat.format(new Date(loc.getTime())); 
+1

Prawdopodobnie masz na myśli '" yyyy-MM-dd HH: mm "', musiałem debugować to w jednej z moich aplikacji przez DŁUGI czas ... Poza tym orig. pytanie określono format jako '" dd/MM/yy gg: mm "' ... – onik

+0

dzięki Chory spróbuj tego .. – Thinkerbelle

1

Będąc pytanie rozwoju, powinno zostać przeniesione do StackOverflow, ale oto wskazówka: DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT).format(loc.getTime()));

Zobacz oficjalną dokumentację na odpowiednich klas around here aby dostosować go do własnych potrzeb.

+0

Próbowałem tego .. "Date:" + android.text.format.DateFormat.format ("dd/MM/yy gg: mm", new java.util.Date()) ;; – Thinkerbelle