Hilfe zum Thema einlesen eines Datums

vin030

Mitglied
Java:
import util.IO;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.Month;
import java.time.Period;
import java.time.chrono.ChronoLocalDate;
import java.time.chrono.ChronoLocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.time.temporal.ChronoUnit;

public class PersonUtils {

   public static void main(String[] args) {
       PersonUtils prg = new PersonUtils();
       prg.execute();
   }

   {
       final int PERS_ANZ_MAX = 100;
       final int TAGE_MAX = 20;
       final String KLINIK = "Lausitzer Gesundbrunnen.\nCottbus und Senftenberg";
   }

   void execute()
   {
       dateCalc();
       getNextKey(null, null, null);
   }

   public LocalDate dateCalc()
   {
       String readAppointment = IO.readLine("Bitte ein Datum Angeben:"); 
       LocalDate today = LocalDate.now();
       DateTimeFormatter terminAngepasst = DateTimeFormatter.ofPattern("dd-mm-yyyy");
       LocalDateTime appointment = LocalDateTime.parse(readAppointment, terminAngepasst);
       Period zeit = today.until(appointment);
       int yearsOftime = zeit.getYears();
       int monthsOfTime = zeit.getMonths();
       int daysOfTime = zeit.getDays();

       System.out.println("es verbleiben noch " + daysOfTime + " Tage und " + monthsOfTime + " Monate sowie " + yearsOftime + " Jahre bis zum nächsten Termin.");
       return today;
   }

   public String getNextKey(String name, String vorname, LocalDate datum)
   {
       return vorname;
   }
}

Dies ist mein bisheriger code ich würde gerne "terminAngepasst" mit dem heutigen Datum berechnen aber dass haut nicht ganz hin.😱

lg
vin030😀
 
Zuletzt bearbeitet von einem Moderator:
ok also nochmals genauer ausgedrückt ich hab ein Problem damit das eingegeben Datum ("IO.readString") mit dem heutigen Datum berechnen zu lassen Ziel meiner seits ist es das Datum vom Nutzer einzulesen abzuspeichern und die Zeit bis zum Datum berechnen zu lassen😀
 
na gut ich versuch es auch nochmal haha ich möchte dass der nutzer ein Datum eingibt der compiler es einliest abspeichert und verwertet mit dem heutigen Datum d.h primitiv ausgedrückt eingelesens Datum minus LocalDate.now(). funktioniert aber nicht ganz bei der Erfassung danach es funktioniert nur wenn ich sagen würde localtdate.of(yyyy,mm,dd). dies ist aber nicht mein ziel da ich nicht ein festes datu, berechnen lassen möchte sondern verschiedene .
 
na gut ich versuch es auch nochmal haha ich möchte dass der nutzer ein Datum eingibt der compiler es einliest abspeichert und verwertet mit dem heutigen Datum d.h primitiv ausgedrückt eingelesens Datum minus LocalDate.now().
Was du erreichen willst habe ich schon verstanden. Da liegt nicht das Problem 😉

funktioniert aber nicht ganz bei der Erfassung danach es funktioniert nur wenn ich sagen würde localtdate.of(yyyy,mm,dd). dies ist aber nicht mein ziel da ich nicht ein festes datu, berechnen lassen möchte sondern verschiedene .
Hier liegt das Problem 😉 ... "funktioniert nicht" ist keine Fehlerbeschreibung!
Sag doch was genau nicht funktioniert. Wie oben schon geschrieben -> Gibt es Fehlermeldungen? Gibt es Compileerrors? Was kommt als Ergebnis bzw. was passiert? Was sollte als Ergebnis kommen?
Gibt es Probleme beim Umwandeln des eingelesen Datums? Welches Datum gibst du zum Beispiel ein? Was passiert dann?

Was mir zum Beispiel aufgefallen ist, ist dass dein Format "dd-mm-yyyy" nicht korrekt ist. Siehe auch die Patternsymbole: https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html
 

Zurück
Oben