Calendar.set Time, Ermittlung der Anzahl Tage fehlerhaft

Status
Nicht offen für weitere Antworten.

spidermobile

Bekanntes Mitglied
Hallo zusammen,

mit folgender Methode möchte ich die Anzahl der Tage ermitteln. aus meiner Sicht ist diese leider ungenau. Ist das bekannt, gewollt, oder was ist hier falsch.

Beispiel:
checkInDate = 24.03.2005
checkOutDate = 28.03.2005
ergibt leider nur countDays = 3 <-- Das ist leider falsch!

Danke für einen Tipp.

Code:
	public static int countTotalDays(Date checkInDate, Date checkOutDate) {

		int countDays = 0;

		Calendar beginDay = new GregorianCalendar();
		beginDay.setTime(checkInDate);
		Calendar endDay = new GregorianCalendar();
		endDay.setTime(checkOutDate);	
		long diffMillis = endDay.getTimeInMillis() - beginDay.getTimeInMillis();
		long diffDays = diffMillis/(24*60*60*1000);

		countDays = (int)diffDays;
		
	return countDays;
	}
 
G

Guest

Gast
Haben beide exakt gleiche Uhrzeit? Die spielt bei der Berechnung auch eine Rolle.
Gebe die Differenz als float aus, dann siehst du den Unterschied. Beim int-Cast wird
nicht gerundet.
Code:
...
float diffDays = diffMillis/(24.0f*60*60*1000);
System.out.println(diffDays);
...
 

spidermobile

Bekanntes Mitglied
Da ich mich in diesem Bereich nicht so auskenne, hilft die Antwort mir leider nur bedingt weiter. Wenn ich ein Datum übergebe, was hat das mit der Uhrzeit zu tun. Ich übergebe ja keine!
So und hier ist ja das Problem. Eigentlich erwarte ich mit der Berechnung 1000*60*60*24 immer einen exakten Wert, da eigentlich ja jeder Tag gleich lang ist, oder ist der dies in Java nicht?
 
G

Guest

Gast
java.util.Date ist vielleicht vom Namen her etwas verwirrend, da es auch noch die Zeit enthält.
Klartext: Erstellst Du zwei Date-Objekte in einem Abstand von paar Millisekunden, dann sind
sie unterschiedlich.
Bei der Differenz hast du dann z.B. 3,99999 Tage und mit dem int-cast schneidest du die .99999
einfach ab. Das Ergebnis ist dann dummerweise 3, nicht 4.

Kommen dann noch verschiedene Zeitzonen dazu (ist hier nicht der Fall), dann kannst du eine
Runde Amok um den Block laufen. :bae:
 

spidermobile

Bekanntes Mitglied
Nun verstehe ich das ganze. Oki, dann war mein Ansatz aber ziemlich doof :oops:
Wie kann ich dann besser mein Ziel erreichen, also die Differenz von 2 Tagen berechnen?
 

HAOSK

Mitglied
long diffDays = Math.round(diffMillis/(24*60*60*1000));
zum Beispiel...

aber nur wenn es daran liegt.
 

HAOSK

Mitglied
sorry,
long diffDays = Math.round(diffMillis/(24.f*60*60*1000));
sonst wird der Rest noch vor dem runden abgeschnitten...
 

spidermobile

Bekanntes Mitglied
Vielen Dank für die Hilfe. Hat prima funktioniert.

Hatte schon gedacht, es hilft keiner mehr!!! Aber das zeichnet sich leider hier im Forum etwas ab :cry: .

If (Ein Verweis auf die API war leider nicht möglich :noe: ||
und ein Verweis auf einen anderen Beitrag auch nicht :noe: )
{ keiner mag mehr helfen!!! };

Sorry, aber das musste ich einfach mal loswerden!
 

Oni

Top Contributor
ich denke es gibt genug leute die helfen auch ohne einen link zu posten, aber wenn man die lösung halt selbst net weiss, kann man auch nicht viel helfen.

zumal ein link auf einen anderen beitrag, oder die api sehr nützlich sein kann und keine minderwertig form der hilfe darstellt.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Problem mit Calendar.getDisplayName() Java Basics - Anfänger-Themen 8
B Calendar Java Basics - Anfänger-Themen 5
N Erste Schritte Calendar.DAY_OF_YEAR Java Basics - Anfänger-Themen 3
D Unterschied Date - Calendar Java Basics - Anfänger-Themen 1
I iCal Calendar mit Password und Username Java Basics - Anfänger-Themen 0
E Gregorian Calendar übergibt falschen Wochentag Java Basics - Anfänger-Themen 2
P Tag der Zeitumstellung Sommer->Winterzeit (Java Calendar) Problem Java Basics - Anfänger-Themen 5
S Calendar Neujahr Java Basics - Anfänger-Themen 10
T Calendar Methode roll(); Java Basics - Anfänger-Themen 2
J Calendar holidays Java Basics - Anfänger-Themen 4
L Datediff calendar Java Basics - Anfänger-Themen 3
D Java Date/Calendar Problem Java Basics - Anfänger-Themen 4
T Heutiges datum OHNE Calendar? Java Basics - Anfänger-Themen 9
M Calendar-Prüfung funktioniert nicht korrekt Java Basics - Anfänger-Themen 6
K Java Calendar Time Java Basics - Anfänger-Themen 10
N Fehler Calendar Java Basics - Anfänger-Themen 4
B Klassen Gregorian Calendar Java Basics - Anfänger-Themen 3
G Gregorian Calendar Eingabeprüfung Java Basics - Anfänger-Themen 4
M Calendar add-Funktion Java Basics - Anfänger-Themen 2
M Probleme mit Calendar Java Basics - Anfänger-Themen 9
0 Calendar - komme nicht weiter mit add Java Basics - Anfänger-Themen 2
lumo Datentypen Calendar to string und retour? Java Basics - Anfänger-Themen 4
S Calendar -- today Java Basics - Anfänger-Themen 4
N verständnisfrage java.util.Calendar Java Basics - Anfänger-Themen 4
W String zu Calendar parsen Java Basics - Anfänger-Themen 4
P (Arbeitstag-) Calendar - 9 anstatt 24 Stunden Java Basics - Anfänger-Themen 12
B Fehlermeldung für Calendar Java Basics - Anfänger-Themen 20
H Calendar rechnet möglicherweise falsch Java Basics - Anfänger-Themen 6
N Calendar Probleme Java Basics - Anfänger-Themen 5
G Gregorian Calendar aus toString() Ausgabe wiederherstellen Java Basics - Anfänger-Themen 4
A calendar Java Basics - Anfänger-Themen 6
K java.util.Calendar und Objekt Java Basics - Anfänger-Themen 7
C Problem Date / Calendar Java Basics - Anfänger-Themen 3
Paule Problem mit Date und Calendar Java Basics - Anfänger-Themen 3
W Gregorian Calendar Java Basics - Anfänger-Themen 5
G Probleme mit Konvertierung und Substraktion im Calendar Java Basics - Anfänger-Themen 4
S Konvertieren von Gregorian Calendar nach Date ? Java Basics - Anfänger-Themen 6
L Gregorian Calendar Problem Java Basics - Anfänger-Themen 7
S Calendar.set Methode Java Basics - Anfänger-Themen 4
H Frage zur ermittlung eines doppelte Paars aus Sotieralgorithmus Java Basics - Anfänger-Themen 4
R Ermittlung des Werts eines Flags Java Basics - Anfänger-Themen 2
E Compiler-Fehler Programm zur IBAN-Ermittlung Java Basics - Anfänger-Themen 3
S Ermittlung des GGTs zweier Werte Java Basics - Anfänger-Themen 5
J Erste Schritte Zinseszinsberechnung Ermittlung Laufzeit Java Basics - Anfänger-Themen 3
O Index Ermittlung Java Basics - Anfänger-Themen 20
S Programm zu Ermittlung von Primzahlen Java Basics - Anfänger-Themen 14
T ermittlung des minimus zweier eingegebener werte Java Basics - Anfänger-Themen 7
R Ermittlung Anfangs- und Enddatum einer Kalenderwoche Java Basics - Anfänger-Themen 10
T Programm zur Ermittlung von freien Speicherplatz Java Basics - Anfänger-Themen 6
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
T code so schreiben das er von sich selber anpasst (code soll die anzahl aller bustaben bestimmen) Java Basics - Anfänger-Themen 16
C Parameter in verschiedenen Anzahl und Typen Java Basics - Anfänger-Themen 6
Ibrahim Anzahl möglicher Reiserouten zurückgeben Java Basics - Anfänger-Themen 5
K loop pausieren für eine bestimmte Anzahl? Java Basics - Anfänger-Themen 1
B bei 2 Arrays Anzahl gleicher Elemente vergleichen? Java Basics - Anfänger-Themen 49
M Anzahl Kommandozeilenparamter mittels Methode Java Basics - Anfänger-Themen 11
I Eindeutiger String mit maximaler Anzahl an Zeichen Java Basics - Anfänger-Themen 11
nils812 Black Jack Karten Anzahl begrenzen Java Basics - Anfänger-Themen 5
berserkerdq2 sqllite in Java, wenn ich mache select count(*) ..., erhalte ich dann nur die gezählte Anzahl oder werden auch die Tabellen ausgegeben? Java Basics - Anfänger-Themen 2
I Prüfen, ob Anzahl an Monate ein Jahr ergeben Java Basics - Anfänger-Themen 4
B Anzahl Nullen uns Einsen in String ermitteln Java Basics - Anfänger-Themen 3
O Ich habe einen String und soll mit matches schauen, ob ein Buchstabe zu einer geraden ANzahl im String vorkommt, wie soll das gehen? Java Basics - Anfänger-Themen 7
C Anzahl ArrayLists unbekannt Java Basics - Anfänger-Themen 4
O Anzahl Datensätze ausgeben Java Basics - Anfänger-Themen 5
T Maximale Anzahl von Konsonanten im String Java Basics - Anfänger-Themen 6
N Aus einem String die Anzahl der Vokale auslesen Java Basics - Anfänger-Themen 40
W Dez-->Binär mit eigener bit Anzahl Erkennung. Java Basics - Anfänger-Themen 3
RudiRüssel maximale Anzahl von Schlüsseln in einer Hash Tabelle Java Basics - Anfänger-Themen 2
W Anzahl der Zeilen ausgeben lassen Java Basics - Anfänger-Themen 20
J Verschieben von Buchstaben in einem String um vorgegebene Anzahl von Zeichen innerhalb eines weiteren String Java Basics - Anfänger-Themen 12
Kingamadeus2000 Anzahl der Ziffern der kürzesten Zahl aus einem zurückliefern Java Basics - Anfänger-Themen 1
Tino1993 for-Schleife, die eine vorgegebene Anzahl von Zeichen ausgibt Java Basics - Anfänger-Themen 3
M Anzahl Schleifendurchgänge nach x Sekunden anzeigen Java Basics - Anfänger-Themen 2
P Primzahl mit Angabe der höchsten Primzahl und Angabe der Anzahl von Primzahlen bis 100 Java Basics - Anfänger-Themen 8
L Anzahl der benachbarten Minen berechnen und setzen Java Basics - Anfänger-Themen 15
Kirby.exe Anzahl vorkommender Elemente im Array zählen Java Basics - Anfänger-Themen 9
B Nur eine bestimmte Anzahl an Arrays ausgeben Java Basics - Anfänger-Themen 9
hello_autumn Klassen Anzahl sowie die Anzahl der Junit Tests ermitteln? Java Basics - Anfänger-Themen 8
B Von Array nur eine bestimmte Anzahl bekommen Java Basics - Anfänger-Themen 3
L Anzahl der Paare deren Summe = 0 ergibt berechnen Java Basics - Anfänger-Themen 0
L Anzahl der Elemente key in einem Array mit log(N) Laufzeit Java Basics - Anfänger-Themen 4
L Anzahl der Aufrufe von Schleifen bestimmen Java Basics - Anfänger-Themen 1
D Alle Möglichkeiten, n-Anzahl aus Elementen aus einem Array zu wählen, ausgeben? Java Basics - Anfänger-Themen 23
B Frage zu: String... strings -> Ungleiche Anzahl an Parameter? Java Basics - Anfänger-Themen 4
O ObjectOutputStream Anzahl Objekte festhalten Java Basics - Anfänger-Themen 17
B Anzahl von Stunden / Tage von zwei Datumswerten ermitteln Java Basics - Anfänger-Themen 1
L Dynamische Anzahl an Arrays mit verschiedenen Namen erzeugen Java Basics - Anfänger-Themen 6
H Anzahl verschiedener Buchstaben im String Java Basics - Anfänger-Themen 41
sondr Anzahl der gleichen Positionen im Array Java Basics - Anfänger-Themen 3
Y Konkrete Hilfe gesucht - Anzahl der Stellen einer eingegebenen Zahl überprüfen Java Basics - Anfänger-Themen 5
Y Begrenzte Anzahl an Objekten? Java Basics - Anfänger-Themen 12
P Input/Output Bestimmte Anzahl von Werten in einem Array an Methode übergeben Java Basics - Anfänger-Themen 2
L Graphen: Anzahl Knoten // Knoten in Array speichern Java Basics - Anfänger-Themen 4
E Anzahl Datensätze in Textfeld Java Basics - Anfänger-Themen 5
K Anzahl gleicher Elemente in Array Java Basics - Anfänger-Themen 32
T befehle unterschiedlicher anzahl an strings wiedergeben Java Basics - Anfänger-Themen 2
L Feld mit beliebiger Anzahl von Buchstaben füllen... Java Basics - Anfänger-Themen 5
LikeManuel Anzahl der Teiler Java Basics - Anfänger-Themen 6
D Anzahl von Zahlen bei eingabe begrenzen Java Basics - Anfänger-Themen 37
T Erste Schritte Schreiben Sie eine Klasse Zeit, die eine Zeitdauer in Minuten beschreibt. Die Anzahl Minuten verwalt Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben