Generierung von UTC-Zeit in java
Möchte ich, um die UTC-Zeit für 01/01/2100 in Java '2100-01-01 00:00:00'. Ich bin immer "2100-01-01 00:08:00". Irgendeine Idee, wie das zu korrigieren.
public Date getFinalTime() {
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
Date finalTime = null;
try
{
finalTime = df.parse("01/01/2100");
} catch (ParseException e)
{
e.printStackTrace();
}
calendar.setTime(finalTime);
return calendar.getTime();
}
InformationsquelleAutor Boolean | 2010-07-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie die Zeitzone angeben, für die " = SimpleDateFormat - aktuell, die beim Parsen Mitternacht lokale Zeit, die am Ende als 8 Uhr UTC.
Wie immer, aber ich würde persönlich empfehlen die Verwendung Joda Time die weit mehr fähig ist, im Allgemeinen. Ich würde glücklich sein, Sie zu übersetzen, Ihr Beispiel in Joda Mal, wenn Sie wollen.
Darüber hinaus sehe ich Sie zurückgeben
calendar.getTime()
- das ist genau das gleiche wie die RückgabefinalTime
sobald Sie haben berechnet.Schließlich nur der Fang einer
ParseException
und Durchführung, als ob es nicht passiert ist eine sehr schlechte Idee. Ich hoffe, dies ist nur Beispiel-code, und es spiegelt nicht Ihre wahre Methode. Ebenso gehe ich davon aus, dass wirklich werden Sie analysieren einige andere text - wenn Sie es nicht sind, dann wie Eyal sagte, Sie sollten nur Methoden aufrufen, die aufCalendar
direkt. (Oder, wieder, verwenden Sie Joda Time.)InformationsquelleAutor Jon Skeet
Müssen Sie die Zeitzone des " = SimpleDateFormat-Objekt als gut, sonst nimmt es die default-Zeitzone.
Sowieso, wie es scheint, nur mit einem Kalender ist genug in Ihrem Fall. Verwenden Sie Ihre Set-Methoden zum einstellen der richtigen Werte für alle Felder (Jahr, Monat, Tag, Stunde, etc) und dann abrufen der Zeit.
Skeet: ich habe nicht verstanden, aus seiner Erklärung, die er gegeben ist eine variable string als Eingabe. Ich nahm an, es ist ein fester Wert, detoting einige Zeit begrenzen (im Jahr 2100).
Ich nahm an, es war nur ein Beispiel, - wenn er nicht wirklich wollen, um zu analysieren, text, wäre es sicherlich seltsam sein (und falsch) zu verwenden " = SimpleDateFormat.
InformationsquelleAutor Eyal Schneider