Daniel82: Werte zweistellig aus dem Kalender holen

cal.set(new Integer (jahr).intValue(),new Integer (monat).intValue()-1,new Integer (tag).intValue());

So werden die Zahlen aus dem Kalender bestückt. Wie bekomme ich für "monat" eine zweistellige zahl heraus?

  1. Hallo,

    So werden die Zahlen aus dem Kalender bestückt. Wie bekomme ich für "monat" eine zweistellige zahl heraus?

    Du wandelst es um in string und falls der integer kleiner 10 ist dann hängst du vor den string noch eine 0 dran.

    Grüße
    Jeena Paradies

    1. Hallo,

      So werden die Zahlen aus dem Kalender bestückt. Wie bekomme ich für "monat" eine zweistellige zahl heraus?
      Du wandelst es um in string und falls der integer kleiner 10 ist dann hängst du vor den string noch eine 0 dran.

      Grüße
      Jeena Paradies

      Das habe ich bereits gemacht, aber der Testserver bringt genau dort (diese Zeile) den Fehler!

      1. public String DateAdd(int days, String date)
        {

        String tag = date.substring(0,2);
          String monat = date.substring(3,5);
          String jahr = date.substring(6);

        Calendar cal = Calendar.getInstance();

        cal.set(new Integer (jahr).intValue(),new Integer (monat).intValue()-1,new Integer (tag).intValue());
          cal.add(Calendar.DAY_OF_MONTH,days);

        tag = Integer.toString(cal.get(Calendar.DAY_OF_MONTH));
          monat = Integer.toString(cal.get(Calendar.MONTH)+1);
          jahr = Integer.toString(cal.get(Calendar.YEAR));

        if (tag.length()==1) tag="0"+tag;
          if (monat.length()==1) monat="0"+monat;

        return tag+"."+monat+"."+jahr;

        }

        1. Hallo,

          public String DateAdd(int days, String date)
          {
            String tag = date.substring(0,2);
            String monat = date.substring(3,5);
            String jahr = date.substring(6);

          Aua. Schau dir mal bitte die Klasse java.text.SimpleDateFormat an.
          Siehe auch: http://www.exampledepot.com/egs/java.text/ParseDate.html

          Calendar cal = Calendar.getInstance();

          cal.set(new Integer (jahr).intValue(),new Integer (monat).intValue()-1,new Integer (tag).intValue());

          Mit dem Rückgabewert von SimpleDateFormat kannst du dann über setTime(Date)
          das Calendar-Objekt befüllen.

          cal.add(Calendar.DAY_OF_MONTH,days);

          tag = Integer.toString(cal.get(Calendar.DAY_OF_MONTH));
            monat = Integer.toString(cal.get(Calendar.MONTH)+1);
            jahr = Integer.toString(cal.get(Calendar.YEAR));

          if (tag.length()==1) tag="0"+tag;
            if (monat.length()==1) monat="0"+monat;

          return tag+"."+monat+"."+jahr;
          }

          Und statt diesem Code verwendest du dann wieder SimpleDateFormat.
          Siehe hier: http://www.exampledepot.com/egs/java.text/FormatDate.html

          Gruß
          Slyh