String timestamp Calendar in Java?
Einer einfachen Frage, die ich nicht finden kann eine Antwort.
Ich habe einen String, der ein Zeitpunkt ist, möchte ich es in ein Kalender-Objekt, damit ich dann anzeigen kann, es in meiner Android-Anwendung.
Den code, den ich bisher zeigt alles, macht alles, was in den 1970er-Jahren:s.
String timestamp = parameter.fieldParameterStringValue;
timestampLong = Long.parseLong(timestamp);
Date d = new Date(timestampLong);
Calendar c = Calendar.getInstance();
c.setTime(d);
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int date = c.get(Calendar.DATE);
dateTextView.setText(year + "-" + month + 1 + "-" + date);
UPDATE:
Nur zur info, der Zeitstempel wird vom server ist: 1369148661,
Könnte das falsch sein?
- wo sind Sie immer die timestamp aus? Einige API-ich weiß-Streifen aus den 1000, um Platz zu sparen. d.h. eine Sekunde Genauigkeit
- Von einem server, die wir betreiben. Der timestamp ist richtig, ich"ve dreifach geprüft die Wert-und es ist korrekt vom server.
- Sie könnten versuchen, zu tun
c.setTimeInMillis(timestampLong);
zu sehen, wenn Sie haben das gleiche Ergebnis ? - Haben Sie versucht, SimpleDate?
- Funktioniert nicht
- und Ja, das funktioniert auch nicht.
- ist der timestamp, Sie werden immer vom server in Sekunden oder Millisekunden? Einige Server werden mit Sekunden-für den Zeitstempel, so dass Sie möglicherweise multiplizieren Sie mit 1000
- Dein code ist gut. Der String timestamp falsch ist.
- Ich habe auch versucht, aber es scheint nicht zu funktionieren. Der Wert ist in Sekunden, ich bin mir ziemlich sicher.
- Ja, ich weiß, aber ich bekomme die gleiche Antwort. Ich aktualisiert die Frage.
- Okay, nochmal getestet, und dann funktioniert alles, außer der mont, die zeigt 41.
- Okay erkannte, was ich falsch gemacht habe jetzt.
InformationsquelleAutor Joakim Engstrom | 2013-05-22
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie die Zeit in Sekunden, multipliziert man es mit 1000 :
Ausgabe :
Pflege, weil die Konstante für die
Calendar.MONTH
ist ab 0. So sollten Sie anzeigen, wie dies für den Anwender :Können Sie setTimeMillis :