2012-12-02 14 views
8

mam czas w milliseconds, teraz chcę oddzielnytime i date z tymi milliseconds.jak uzyskać datę z milisekund w android

jak mogę to zrobić ???

+0

można wyświetlić formularz, który masz? – gowri

+0

Znalazłem najlepsze rozwiązanie w tej odpowiedzi http://stackoverflow.com/a/7954038/1677835 –

Odpowiedz

18

można używać jak to

Calendar cl = Calendar.getInstance(); 
cl.setTimeInMillis(milliseconds); //here your time in miliseconds 
String date = "" + cl.get(Calendar.DAY_OF_MONTH) + ":" + cl.get(Calendar.MONTH) + ":" + cl.get(Calendar.YEAR); 
String time = "" + cl.get(Calendar.HOUR_OF_DAY) + ":" + cl.get(Calendar.MINUTE) + ":" + cl.get(Calendar.SECOND); 
2

Można konwertować milisekundy do obiektu data i następnie wyodrębnić datę w formacie ciągu znaków czasu i innym ciągiem tylko daty

+0

"Date" jest przestarzałe. –

+0

Nie miałem nawet na myśli 'Date()', ale nie, nie jest to jeszcze, jeszcze nie, i nie do tych celów. nie mylić wszystkich innych. – mango

+0

Po prostu 'setTime' nie jest przestarzałe. inne metody (większość z nich) są przestarzałe. Dlaczego więc włączyć "Date", aby ustawić czas? Dlaczego nie używać "Calnedar class" –

15

Funkcja ta daje datę ciąg z milisekund

public static String getFormattedDateFromTimestamp(long timestampInMilliSeconds) 
{ 
    Date date = new Date(); 
    date.setTime(timestampInMilliSeconds); 
    String formattedDate=new SimpleDateFormat("MMM d, yyyy").format(date); 
    return formattedDate; 

} 
1

Użyj Calendar aby uzyskać wartości różnych dziedzin czasowych:

Calendar cal = Calendar.getInstance(); 
cal.setTimeInMillis(timeInMillis); 
int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH); 
int monthOfYear = cal.get(Calendar.MONTH); 
2

Konwersja milliseconds do Date instancji i przekazać go do wybranej formater:

SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy"); 

String myDate = dateFormat.format(new Date(dateInMillis)));