2016-04-29 8 views
2

Ich möchte Zeitstempel auf Datum umwandeln und Zeit an diesem Tag auf 12.00 setzen. Wie kann ich das tun?Wie konvertieren Zeitstempel auf Android?

Wenn ich diese verwenden:

Date date = new Date(event.getActionDate()*1000); 

Ich kann nicht Stunden oder Minuten zu diesem Zeitpunkt festgelegt, becouse Methoden für diese Operationen sind veraltet.

Erläuterung:

Ich habe Zeitstempel -

1461924872 // Fri, 29 Apr 2016 10:14:32 GMT 

Ich möchte ändern Stunde in diesem Zeitstempel (: 14 bis 00 .00).

+2

Verwenden Sie stattdessen einen ['Calendar'] (http://developer.android.com/reference/java/util/Calendar.html). –

Antwort

3
long timeInMillis = 1461877200000l; 
Calendar calendar = Calendar.getInstance(); 
calendar.setTimeInMillis(timeInMillis); 
System.out.println("Date1:"+calendar.getTime().toString()); 

calendar.set(Calendar.HOUR_OF_DAY, 0); //For 12 AM use 0 and for 12 PM use 12. 
calendar.set(Calendar.MINUTE, 0);  
calendar.set(Calendar.SECOND, 0); 

Date date = calendar.getTime(); 
System.out.println("Date2:"+date.toString()); 
+0

funktioniert nicht für mich ( – Artem

+0

@ArtemShevchenko bekommen nicht richtige Datum Objekt? –

+0

nein - diese Methode gib mir schlechte Zeit, nicht 12 Uhr – Artem

1
Calendar cal = Calendar.getInstance(); 
TimeZone tz = cal.getTimeZone();//get your local time zone. 
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm a"); 
sdf.setTimeZone(tz);//set time zone. 
String localTime = sdf.format(new Date(time) * 1000)); 
Date date = new Date(); 
date = sdf.parse(localTime); 
+0

And ? Wie kann ich die Stunde für meine Zeit um 12 Uhr ändern? – Artem

1
private String getDate(String timeStampStr){ 

try{ 
    DateFormat sdf = new SimpleDateFormat("MM/dd/yyyy"); 
    Date netDate = (new Date(Long.parseLong(timeStampStr))); 
    return sdf.format(netDate); 
} 
catch(Exception ex){ 
    return dateInStr; 
} 
    } 

lassen Sie mich wissen, ob es funktioniert?

Verwandte Themen