tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
12
ZUGRIFFE
4922
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Lautsprecher Lautsprecher ist offline Mitglied Gold
    Registriert seit
    Jun 2005
    Beiträge
    246
    Hallo,
    weiß vielleicht jemand wie man auf dem kürzesten Weg das Datum von Morgen ermitteln kann?
    Ich habe schon ein wenig geschaut und dachte ursprünglich mit GregorianCalendar kann man da was machen. Dachte vielleicht gibts da was wie getnextDay().....
    Hab aber nichts gefunden!

    Grüße
     

  2. #2
    mrno mrno ist offline Mitglied Gold
    Registriert seit
    Jun 2004
    Beiträge
    245
    Du könntest bei einem GregorianCalendar das heutige Datum auslesen. Das datum um 1 erhöhen und neu setzen. Schon hast du das datum von morgen im GregorianCalendar.
     

  3. #3
    Lautsprecher Lautsprecher ist offline Mitglied Gold
    Registriert seit
    Jun 2005
    Beiträge
    246
    Hi mh,
    klingt gut, das habe ich mir auch schon überlegt. Bloß ich weiß nicht so recht wie die Syntax für das 1 erhöhen aussieht.
    Bis jetzt habe ich nur sowas in die Richtung benzutzt;
    Calendar cal = new GregorianCalender();
    cal.set(Jahr,Monat,Tag) +1 ?

    geht das? ich glaube das wäre zu einfach
     

  4. #4
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.

    Es gibt doch die Methode add(int field, int amount) bei jeder Calender Instanz.

    Da kannst du dann
    Code :
    1
    
    cal.add(Calendar.DAY_OF_MONTH, 1);
    aufrufen, das sollte dann 1 zum Tag hinzuzählen.

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  5. #5
    Avatar von RealHAZZARD
    RealHAZZARD RealHAZZARD ist offline Mitglied Brokat
    Registriert seit
    Mar 2005
    Beiträge
    388
    Tach.

    Code :
    1
    2
    3
    
               Date d =new Date();
               d.setDate(Calendar.DAY_OF_WEEK_IN_MONTH-2);
     System.out.println(d);

    Und anstatt dem System.out.println(d) verwendest du es wie du möchtest.
     
    Ich hab keine Ahnung.
    Aber davon jede Menge.

  6. #6
    Avatar von RealHAZZARD
    RealHAZZARD RealHAZZARD ist offline Mitglied Brokat
    Registriert seit
    Mar 2005
    Beiträge
    388
    Ahhhh.....
    Sorry Frage falsch interprtiert.
    so muss es sein:

    Code :
    1
    2
    3
    4
    
     
               Date d =new Date();
               d.setDate(Calendar.DAY_OF_WEEK_IN_MONTH);
               System.out.println(d);
     
    Ich hab keine Ahnung.
    Aber davon jede Menge.

  7. #7
    Lautsprecher Lautsprecher ist offline Mitglied Gold
    Registriert seit
    Jun 2005
    Beiträge
    246
    mh,
    muss man denn nicht bei
    d.set(Calendar.DAY_OF_WEEK_IN_MONTH) 1 dazu addieren? Außerdem zählt DAY_OF_WEEK....
    doch nur von -1 bis 6 (Weshalb eigentlich von -1 ab).
    Ich verstehe nicht ganz wie ich da auf den nächsten Tag kommen soll. wenn zb. Heute 30.11.2005 ist und ich den 01.12.2005 brauche
     

  8. #8
    Avatar von RealHAZZARD
    RealHAZZARD RealHAZZARD ist offline Mitglied Brokat
    Registriert seit
    Mar 2005
    Beiträge
    388
    Einfach eibinden und ausführen.
    You will see!
    d.setDate(Calendar.DAY_OF_WEEK_IN_MONTH);
    beinhaltet schon den nächsten Tag.
     
    Ich hab keine Ahnung.
    Aber davon jede Menge.

  9. #9
    Lautsprecher Lautsprecher ist offline Mitglied Gold
    Registriert seit
    Jun 2005
    Beiträge
    246
    Hallo, okay ich probiers aus!
    Jetzt habe ich aber schon wieder ein Neues Problem. Ich lese das Ausgangsdatum aus einer Datenbank aus und splitte es dann folgendermaßen auf:


    Datum aus der Datenbank:
    Code :
    1
    2
    
    datumdummy = in_date_ein.substring(0,10);  // 0 - 10 da nur das Datum notwendig
    res_kom_dat= datumdummy.split("-");

    Das Problem ist jetzt, das Datum aus der Datenbank kann heute, gestern oder aber auch schon vor 2 Wochen gewesen sein. Es soll aber immer ein Tag dazuaddiert werden:
    Sprich 8.11.2005 -> 9.11.2005
    31.10.2005 -> 01.11.2005

    Da ich noch anfänger bin, weiß ich jetzt nicht genau wie ich das Datum aus der DB in die Methode einbaue und 1 dazu addiere!!
     

  10. #10
    Avatar von RealHAZZARD
    RealHAZZARD RealHAZZARD ist offline Mitglied Brokat
    Registriert seit
    Mar 2005
    Beiträge
    388
    Wenn ich dich richtig verstehe, dann wohl so:

    Code :
    1
    2
    
            Date d=new Date();
            d.setDate(d.getDate()+1);

    Aber für das nächste mal wäre ein bisschen mehr Source OK
     
    Ich hab keine Ahnung.
    Aber davon jede Menge.

  11. #11
    Lautsprecher Lautsprecher ist offline Mitglied Gold
    Registriert seit
    Jun 2005
    Beiträge
    246
    Ne das ich nicht ganz richtig,
    außerdem habe ich dein obriges Beispiel
    Code :
    1
    
    d.setDate(Calendar.DAY_OF_WEEK_IN_MONTH);
    mal ausprobiert und er gibt mir den Tag von heute aus!!

    Hier also mehr Code:
    (Zur Erklärung:
    Fallbeispiel:
    Mein Pgm ist zur Zeiterfassung gedacht, In der Früh melden sich
    die Mitarbeiter an "Kommen-Datum" und am Abend ab "Gehen-Datum". Jetzt
    gibt es den Fall, dass ein Mitarbeiter das Gehen-Buchen vergisst und dann geht er
    in den Urlaub und kommt nach 3 Wochen wieder. Er würde ja noch angemeldet sein.
    Dann kommt noch dazu, dass aus irgendeinen Grund mein Pgm auch 3 Wochen nicht
    läuft:
    Dann soll folgendes passieren....

    Sprich: Kommen Buchung 01.10.2005
    Pgm wird heute 08.11.2005 gestartet und nimmt Gehen-Buchung am 02.10.2005 vor...


    Code :
    1
    2
    3
    4
    5
    6
    7
    
    String[] res_kom_dat  = null;
     
     
    //DB auslesen Kommen-Datum
    in_date_ein = rs.getString("check_in_date");
    datumdummy = in_date_ein.substring(0,10);
    res_kom_dat= datumdummy.split("-");
    Jetzt ist praktisch das Datum zerstückelt, und wie schaffe ich es jetzt einen Tag dazu
    zu addieren?
     

  12. #12
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.

    Bitte benutzt nicht mehr die Methode setDate der java.util.Date Klasse, da diese seit JDK 1.1 als veraltet eingestuft ist. Man sollte besser Calender.set(Calender.DAY_OF_MONTH, int date) verwenden (siehe Date.setDate(int))

    Zu dem Problem wie du das Datum aus der Datenbank verwendest:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    import java.text.DateFormat;
    import java.text.ParseException;
    import java.util.Locale;
    import java.util.Calendar;
    ...
    DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, Locale.GERMAN);
     
    Calendar cal = Calendar.getInstance();
    try {
      cal.setTime (df.parse("8.11.2005")); // <- hier den String aus der DB einsetzen
      cal.add(Calendar.DATE, 1); // einen Tag dazuaddieren.
      System.out.println(df.format(cal.getTime())); // druckt "09.11.2005"
    } catch(ParseException pe) {
      System.out.println( pe );
    }

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  13. #13
    Lautsprecher Lautsprecher ist offline Mitglied Gold
    Registriert seit
    Jun 2005
    Beiträge
    246
    Hallo Problem gelöst mit:


    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    Calendar calle = new GregorianCalendar(2006,1,28);
    calle.add(Calendar.DAY_OF_MONTH, 1);
                
    int year = calle.get(Calendar.YEAR);
    int monat = calle.get(Calendar.MONTH);
    int tag = calle.get(Calendar.DAY_OF_MONTH);
                
    System.out.println(year );
    System.out.println(monat);
    System.out.println(tag );
    Danke nochmals
     

Ähnliche Themen

  1. Antworten: 8
    Letzter Beitrag: 14.01.11, 23:40
  2. tag zu datum ermitteln
    Von quidnovi im Forum PHP
    Antworten: 3
    Letzter Beitrag: 15.02.07, 17:25
  3. [Excel] Datum von morgen in Vorlage?
    Von Johannes Postler im Forum Office-Anwendungen
    Antworten: 3
    Letzter Beitrag: 23.11.03, 00:02
  4. datum von morgen?
    Von TheLamer im Forum PHP
    Antworten: 2
    Letzter Beitrag: 01.11.03, 19:28
  5. Datum von Morgen
    Von Karies im Forum PHP
    Antworten: 2
    Letzter Beitrag: 10.06.03, 11:17