Hi,
ich versuche eine Methode zu schreiben, die mir die Zeitliche differenz zwischen 2 Daten zurück gibt.
alles in allem weiss ich wie es funktioniert nur reagiert mein Programm merkwürdig.
einmal wird ein Datum übergeben und ein aktuelles Datum hole ich mir mit new Date().
Bis zu dem Punkt stimmt noch alles(Zeile 10.) nur wenn ich dann die ein neues Dateformat auf das aktuelle Datum anwende und es in einen String umwandle(Zeile 12.) springt er plötzlich auf ein ganz anderes Datum. Und statt dem 12.07.2014 habe ich plötzlich den 12.4.2014. Das verstehe ich nicht.
Auch wenn ich dann die beiden Daten jeweils auf ein Datefeld parse kommen plötzlich Daten vom Januar 2014 bei raus.(Zeilen 20/21)
Habe ich grundsätzlich etwas falsch verstanden oder nur einen Fehler drin den ich nicht sehe?
ich versuche eine Methode zu schreiben, die mir die Zeitliche differenz zwischen 2 Daten zurück gibt.
alles in allem weiss ich wie es funktioniert nur reagiert mein Programm merkwürdig.
einmal wird ein Datum übergeben und ein aktuelles Datum hole ich mir mit new Date().
Bis zu dem Punkt stimmt noch alles(Zeile 10.) nur wenn ich dann die ein neues Dateformat auf das aktuelle Datum anwende und es in einen String umwandle(Zeile 12.) springt er plötzlich auf ein ganz anderes Datum. Und statt dem 12.07.2014 habe ich plötzlich den 12.4.2014. Das verstehe ich nicht.
Auch wenn ich dann die beiden Daten jeweils auf ein Datefeld parse kommen plötzlich Daten vom Januar 2014 bei raus.(Zeilen 20/21)
Habe ich grundsätzlich etwas falsch verstanden oder nur einen Fehler drin den ich nicht sehe?
Java:
//Anzahl der Differenz in Tagen zwischen heute und dem letzten Einkauf
public long getDifTage(String datum)
{
long diffDays = 0;
//Datum aus Datei
String datum_db = datum;
DateFormat dateFormat = new SimpleDateFormat("yyyy-mm-dd HH:mm:ss");
//aktuelles Datum mit Date() holen.
Date date = new Date();
//aktuelles Datum
String datum_akt = dateFormat.format(date);
Date date_db = null;
Date date_akt = null;
try {
date_db = dateFormat.parse(datum_db);
date_akt = dateFormat.parse(datum_akt);
//in milliseconds
long diff = date_akt.getTime() - date_db.getTime();
diffDays = diff / (24 * 60 * 60 * 1000);
} catch (Exception e) {
e.printStackTrace();
}
return diffDays;
}
Zuletzt bearbeitet: