Java Berechne die Zeit bis zum Ereignis von der aktuellen Zeit

Ich versuche die Zeit bis zum Start eines Fußballspiels zu berechnen.

Das ist was ich weiß:

Ich habe die Zeit eines Ereignisses: 2016-08-16T19: 45: 00ZIch weiß, das String-Format ist " yyyy-M-dd'T'h: m: s'Z '"Ich weiß, dass die Zeitzone "MEZ" ist.

Ich möchte in der Lage sein, die Differenz von der aktuellen Uhrzeit zu diesem Datum in Tagen zu berechnen.

Das ist, was ich versucht habe:

    String gameDate = "2016-03-19T19:45:00'Z'"
    DateFormat apiFormat = new SimpleDateFormat("yyyy-M-dd'T'h:m:s'Z'");
    apiFormat.setTimeZone(TimeZone.getTimeZone("CET"));
    Date dateOfGame = apiFormat.parse(gameDate);

    DateFormat currentDateFormat = new SimpleDateFormat("yyyy-M-dd'T'h:m:s'Z'");
    currentDateFormat.setTimeZone(TimeZone.getTimeZone(userTimezone));
    Date currentDate = apiFormat.parse(currentDateFormat.format(new Date()));

    long lGameDate = dateOfGame.getTime();
    long lcurrDate = currentDate.getTime();
    long difference = lGameDate - lcurrDate;
    Date timeDifference = new Date(difference);

    String daysAway = new SimpleDateFormat("d").format(timeDifference);
    Integer intDaysAway = Integer.parseInt(daysAway);

Sie fragen sich wahrscheinlich, warum ich nicht einfach das Datum des Spiels (8) und das aktuelle Datum (19) subtrahiere. Ich mache das nicht, wenn das aktuelle Datum das 29. und das Spieldatum das 3. des nächsten Monats ist.

Antworten auf die Frage(14)

Ihre Antwort auf die Frage