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" );

Advertisements
This entry was posted in howtos and tagged , , , , , . Bookmark the permalink.

4 Responses to convert date to calendar in java

  1. csf says:

    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. electrobabe says:

    danke für den hinweis. ich habs oben korrigiert (“new Date” weg), damit man das datum nicht zweimal instanziiert

  3. Jeff says:

    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.

  4. Berner Junge says:

    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

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s