convert date to calendar in java

heute wieder mal googlen müssen, weils mir wieder mal entfallen ist, deswegen gleich ein beitrag für die howto section.

in java sind die alten, sehr hilfreichen funktionen von java.util.Date, die teile des datums zurückgeben, wie date.getMonth(), leider depricated, und zwar schon seit v. 1.1. stattdessen wird heute java.util.Calendar verwendet. …und das geht so ;)

Date date = .. // das datum, das man aufsplitten will;
Calendar cal = Calendar.getInstance();
cal.setTime(date);
// monat fängt mit 0 an!
int month = cal.get(Calendar.MONTH) + 1;
int day = cal.get(Calendar.DAY_OF_MONTH);
int year = cal.get(Calendar.YEAR);

beim suchen hab ich eine hilfreiche seite gefunden mit vielen tutorials und beispielen gefunden.

.

wer ein formatiertes datum braucht, nimmt am besten:


Date date = new Date();
java.text.SimpleDateFormat df = new java.text.SimpleDateFormat( "yyyyMMdd" );

4 thoughts on “convert date to calendar in java

  1. Der Code sieht etwas gruselig aus..


    Calendar cal = Calendar.getInstance();

    beinhaltet bereits das aktuelle Datum der eingestellten Zeitzone. Daher braucht “cal” nicht nochmal die Zeit zugewiesen bekommen.

    Bei

    int month = cal.get(Calendar.MONTH);

    sollte man beachten, dass der Monat bei 0 anfängt. Daher zur Weiterverwendung so nicht zu empfehlen.

  2. Danke, habe das eben gebraucht, und und sofort hier fündig geworden!
    Axis macht interessanterweise aus einem Date beim Übertragen ein Calendar, dann muss man sich wieder um rückkonvertierung kümmern.

  3. Diese Art und Weise ist nur sehr beschränkt. In einem Projekt sollt man so was bevorzugen, um Date zu generieren.

    java.util.Calendar cal = java.util.Calendar.getInstance(java.util.TimeZone.getTimeZone(“America/Los_Angeles”), java.util.Locale.US);

    System.out.println(“HOUR: ” + cal.get(java.util.Calendar.HOUR));
    System.out.println(“MINUTE: ” + cal.get(java.util.Calendar.MINUTE));
    System.out.println(“SECOND: ” + cal.get(java.util.Calendar.SECOND));
    System.out.println(“YEAR: ” +cal.get(java.util.Calendar.YEAR));
    System.out.println(“MONTH: ” +cal.get(java.util.Calendar.MONTH));
    System.out.println(“DAY_OF_MONTH: ” +cal.get(java.util.Calendar.DAY_OF_MONTH));

    es ist wichtig zu wissen. HOUR_OF_DAY ist gleich wie AM_PM + HOUR

Comments are closed.