Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Praktische Informatik (http://www.informatikerboard.de/board/board.php?boardid=6)
--- Calendar in Java gibt falsches Datum zurück (http://www.informatikerboard.de/board/thread.php?threadid=2383)


Geschrieben von Matze84 am 10.07.2015 um 12:38:

  Calendar in Java gibt falsches Datum zurück

Hallo zusammen.
habe folgendes Problem:
Ich möchte den letzten Zeitpunkt des aktuellen Tages haben.

Ich benutze dafür Java.

code:
1:
2:
3:
4:
5:
6:
7:
8:
private static Date getLastDateOfDay() {
 		final Calendar cal = Calendar.getInstance();
                cal.set(Calendar.MILLISECOND, 999);
                cal.set(Calendar.SECOND, 59);
                cal.set(Calendar.MINUTE, 59);
                cal.set(Calendar.HOUR, 23);
                return cal.getTime();
 	}

Diese Methode sollte doch den aktuellen Zeitpunkt holen, und dann die Uhrzeit auf 23:59:59:999 setzen.

Wenn ich am heutigen Tage (10.07.2015) diese Methode aufrufe
code:
1:
Date date = getLastDateOfDay();

Dann hat date das Datum 11.07.2015 23:59:59:999.

Das soll nicht so...
Mache ich evtl einen Fehler? Wenn ja wo?



Geschrieben von eulerscheZahl am 10.07.2015 um 15:33:

 

Zitat:
Mache ich evtl einen Fehler? Wenn ja wo?

Da hast das Handbuch nicht gelesen.


Zitat:
public static final int HOUR
Field number for get and set indicating the hour of the morning or afternoon. HOUR is used for the 12-hour clock (0 - 11). Noon and midnight are represented by 0, not by 12. E.g., at 10:04:15.250 PM the HOUR is 10.

http://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html#HOUR

Du brauchst HOUR_OF_DAY.


Forensoftware: Burning Board, entwickelt von WoltLab GmbH