Date - Calender | "Vergleich"

  • Themenstarter Gelöschtes Mitglied 32268
  • Beginndatum
G

Gelöschtes Mitglied 32268

Gast
Hallo Leute ;)

Ich weiß nicht so recht, ob ich im "Beginner" Bereich richtig bin. Jedenfalls habe ich mir eine GUI erstellt mit Button etc.
Die Funktion des Programms wäre, dass ich in ein Textfeld ein Datum des Formates "dd.mm.yyyy" eingebe. (Vergangenes Datum)
Dieses Datum wird dann mit dem heutigen Datum verglichen. Die Ausgabe sollte dann in Form von "Vergangene Jahre, Monate, Tage, Stunden, Minuten, Sekunden" geschehen.
Dafür gibt es für jeden Punkt ein Textfeld.

Die GUI habe ich komplett und sieht wie folgt aus:

Wird der Button "Ausrechnen" betätigt, sollte das oben genannte geschehen.
Folgendes funktioniert bei mir:

Java:
public void buttonAuswert()
	{
		try{// Derzeitiges Datum (Jahr, Monat, etc..) abfragen
		Date heute = new Date(System.currentTimeMillis());
		String Eingabe = editorfeld_eingabe.getText();
		SimpleDateFormat Datum_eingabe = new SimpleDateFormat("dd.MM.yyyy");
		Date d = Datum_eingabe.parse(Eingabe);
		System.out.println("Vergleiche alt+neu: " + d.compareTo(heute));
		System.out.println("Datum heute:" + heute);
		System.out.println("Datum selbsteingabe " + d);
		
	}catch(Exception e){
		JOptionPane.showMessageDialog(null, "Es wurde nichts od. kein Datum im 'dd.MM.yyy' Format eingegeben!");
	}
	
	}
Soweit so gut. Ich bekomme das eingegebene Datum und das heutige.
Frage: Wie kann diese vergleichen, dass mir die Differenz angegeben wird?
(Noch schnell ein Beispiel: Eingabe 11.11.11 Heute 13.12.11: Jahr 0, Monat 1, Tag 2 und so weiter)

Schonmal vielen Dank für die Hilfe
MFG
Name
 
Zuletzt bearbeitet von einem Moderator:

Blindxantos

Aktives Mitglied
Ist es nicht möglich, das Datum als Long (Datum in millisekunden) zu verwenden? *grübel*

Da ist der 31.12.1899 der Tag 0, und der 01.01.1900 tag 1.
Oder der 01.01.1900 ist Tag 0.
Also bei Datenbanken funktioniert das auf jeden Fall, bei Excel meines Wissens auch.


Ah ja, eben bei Google gesucht und das hier gefunden:
Java Blog Buch : D) Differenz zweier Daten
 
G

Gelöschtes Mitglied 32268

Gast
Super vielen Dank! ;)

Das klappt nun super, Tage, Stunden, Minuten, Sekunden. (;
Jedoch wenn ich es auf "Monate/Jahre" erweitern will kommt immer eine negative Zahl heraus. Hier die Rechnung:
Java:
	GregorianCalendar heute = new GregorianCalendar(); //heutiges Datum
		GregorianCalendar eingabe = new GregorianCalendar(2011, 10, 11); //Wird noch auf eine EditorFeld umgeschrieben
		System.out.println(eingabe); //nur Testweiße zum überprüfen
		long difference = heute.getTimeInMillis() - eingabe.getTimeInMillis(); //Differenz (:
		int years = (int) (difference / (1000 * 60 * 60 * 24 * 31 * 12 )); 
		int months = (int) (difference / (1000 * 60 * 60 * 24 * 31) % 12);
		int days = (int)(difference / (1000 * 60 * 60 * 24) % 31);
		int hours = (int)(difference / (1000 * 60 * 60) % 24);
		int minutes = (int)(difference / (1000 * 60) % 60);
		int seconds = (int)(difference / 1000 % 60);

Desweiteren habe ich noch keinen Plan wie ich "Schaltjahre" bzw. " 30/31 und den Februar mit 28" Jahre "simulieren" kann. (;

Vielen Dank für eure Hilfe.

MFG
Name
 
Zuletzt bearbeitet von einem Moderator:
G

Gelöschtes Mitglied 32268

Gast
Kann die Nachricht davor leider nicht mehr bearbeiten. Sorry for Doppelpost.

Habs jetzt jedenfalls gelöst und bin soweit zufrieden.
Lösung war im Prinzip total einfach mit Hilfe von "Joda" ;)
Joda-Time - Java date and time API - Home

Somit schaut das nun einfach so aus:
Java:
		// Eingabe in String speichern
		String Eingabe = editorfeld_eingabe.getText(); 
		//Datum Formatierung in das gewünschte Format. "AppendDayOfMonth(2)" 2 steht für 2 stellen. "appendYear(4, 4)" (apendYear(min, max)). appendLiteral('.') für character.
		DateTimeFormatter inputFormatter = new DateTimeFormatterBuilder().appendDayOfMonth(2).appendLiteral('.').appendMonthOfYear(2).appendLiteral('.').appendYear(4, 4).toFormatter();
		//Den String Eingabe in "DateTime" (Joda Date Format) parsen.
		DateTime d = inputFormatter.parseDateTime(Eingabe);
		
		//heutiges Datum abfragen
		DateTime heute = new DateTime();
		
		//Joda ;)
		Period p = new Period(d, heute);
		System.out.println(p);
		int years = p.getYears();
		int months = p.getMonths();
		int days = p.getDays();
		int hours = p.getHours();
		int minutes = p.getMinutes();
		int seconds = p.getSeconds();

Danke für die Hilfe
Name
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Beowend String zu Date parsen Java Basics - Anfänger-Themen 1
MiMa Date vs LocalDate/LocalDateTime Java Basics - Anfänger-Themen 13
I Ical4j / Kalender einlesen von URL - Fehler: "Unparseable date" Java Basics - Anfänger-Themen 16
M Umgang mit dem Type "Date" Java Basics - Anfänger-Themen 6
sserio Date Library Frage Java Basics - Anfänger-Themen 9
P "Datestamp" to Date oder Timestamp Java Basics - Anfänger-Themen 15
B Date - Vergleich (equals / after) ? Java Basics - Anfänger-Themen 3
G convert Date to LocalDate Java Basics - Anfänger-Themen 11
G convert Optional<Date> into Optional<LocalDate> Java Basics - Anfänger-Themen 6
J Methoden toString()-Date Formatter Java Basics - Anfänger-Themen 8
L Java Date Format ändern Java Basics - Anfänger-Themen 5
B java.util.Date noch zeitgemäß? Java Basics - Anfänger-Themen 6
B java.util.Date berechnen Java Basics - Anfänger-Themen 11
B Date - Umwandlung OffsetDateTime Java Basics - Anfänger-Themen 11
B Date Konvertierung Java Basics - Anfänger-Themen 0
B Date formatieren Java Basics - Anfänger-Themen 13
L Datentypen Date API - diese Woche bestimmen Java Basics - Anfänger-Themen 1
D Unterschied Date - Calendar Java Basics - Anfänger-Themen 1
Thallius Date für DatePicker formatieren aber wie? Java Basics - Anfänger-Themen 9
A Vererbungshierachie und java.util.Date Java Basics - Anfänger-Themen 31
agent47 Java 8 Locale Date Time Java Basics - Anfänger-Themen 2
S String zu Date Java Basics - Anfänger-Themen 6
L Java String to date? Java Basics - Anfänger-Themen 2
H Repräsentation von DateTime (Joda) in Java Util Date überführen Java Basics - Anfänger-Themen 3
I Date zu 01.01.<year> setzen Java Basics - Anfänger-Themen 1
H java date-time parser Java Basics - Anfänger-Themen 1
S Date parsen klappt nicht richtig Java Basics - Anfänger-Themen 3
A String to Date parsing Java Basics - Anfänger-Themen 2
M TimeUnit ms nach date convertieren Java Basics - Anfänger-Themen 2
B Date Object mit Millisekunden Ausgabe Java Basics - Anfänger-Themen 8
K Best Practice Date in einem Konstruktor angeben Java Basics - Anfänger-Themen 5
K Datum und Uhrzeit als Date Objekt Java Basics - Anfänger-Themen 10
K Date cannot be cast to java.lang.Integer Java Basics - Anfänger-Themen 4
N Change date Format Java Basics - Anfänger-Themen 2
P Date oder Kalender? Was soll man verwenden? Java Basics - Anfänger-Themen 2
M Simple Date Format Java Basics - Anfänger-Themen 2
S Erste Schritte Berechnung mit Daten aus CSV und Date Objekt Java Basics - Anfänger-Themen 2
D Java Date/Calendar Problem Java Basics - Anfänger-Themen 4
Kenan89 Java Date List Java Basics - Anfänger-Themen 4
L Date differenz Java Basics - Anfänger-Themen 6
algebraiker TreeMap<Date,Object> navigieren? Java Basics - Anfänger-Themen 24
B Datentypen Date Java Basics - Anfänger-Themen 11
K konvertiere Millisekunden in ein Utc Date Objekt Java Basics - Anfänger-Themen 5
M Mal wieder Probleme mit Date Java Basics - Anfänger-Themen 9
A Datentypen Datum mit "May" zu Date parsen Java Basics - Anfänger-Themen 6
Blindxantos Datentypen Probleme bei util.Date zu sql.Date Java Basics - Anfänger-Themen 5
R Tage subtrahieren von einem Date() Java Basics - Anfänger-Themen 6
I Date um 1 Jahr erhöhen? Java Basics - Anfänger-Themen 17
F GMT für Date Objekte festlegen Java Basics - Anfänger-Themen 5
F Sekunden abschneiden bei Date Java Basics - Anfänger-Themen 4
L int TimeZone für Date Java Basics - Anfänger-Themen 3
N alter mit Date ausrechnen Java Basics - Anfänger-Themen 10
turmaline String zu Date konvertieren -> Unparseable date Java Basics - Anfänger-Themen 5
T java.util.Date Java Basics - Anfänger-Themen 5
C Date() ->das Datum von gestern ausgeben Java Basics - Anfänger-Themen 11
M Datentypen Wie initialisiere ich ein Objekt vom Typ Date? Java Basics - Anfänger-Themen 3
H OOP java.sql.Date does not have a no-arg default constructor Java Basics - Anfänger-Themen 2
L Date subtrahieren? Java Basics - Anfänger-Themen 10
G Date von heute mit Uhrzeit erzeugen Java Basics - Anfänger-Themen 9
H Unterschied zwischen 2 Date in Sekunden am einfachsten? Java Basics - Anfänger-Themen 5
I Null - Wert bei Date (Mysql) Java Basics - Anfänger-Themen 2
H Date-Objekt um einen Monat "erhöhen" Java Basics - Anfänger-Themen 7
A The method getYear() from the type Date is deprecated Java Basics - Anfänger-Themen 6
P Datum: String in Date umwandeln Java Basics - Anfänger-Themen 7
T mit Typen Date rechnen Java Basics - Anfänger-Themen 6
F java.sql.Date Differenz Java Basics - Anfänger-Themen 3
P Date geht auf UNIX 1 Stunde nach Java Basics - Anfänger-Themen 14
M Date-Problem Java Basics - Anfänger-Themen 3
H Einfaches Date-parse problem Java Basics - Anfänger-Themen 2
Developer_X Date Java Basics - Anfänger-Themen 4
Antoras Daten aus Date lesen Java Basics - Anfänger-Themen 3
G String in Date konvertieren Java Basics - Anfänger-Themen 6
W 2 Date()-Daten vergleichen Java Basics - Anfänger-Themen 6
W String in Date Java Basics - Anfänger-Themen 4
G SpinnerDateModel stard & end nur Date? Java Basics - Anfänger-Themen 4
H Date-Object "um eins erhöhen! Java Basics - Anfänger-Themen 4
G Anfänger: Problem mit Date Java Basics - Anfänger-Themen 3
S NullPointerException bei Date.setTime() Java Basics - Anfänger-Themen 3
M 2 Date()-Datum´s vergleichen Java Basics - Anfänger-Themen 9
C Java 7 Date Java Basics - Anfänger-Themen 9
L Timer und Date Java Basics - Anfänger-Themen 2
G SQL Date zu JAVA Date Java Basics - Anfänger-Themen 4
G String in Date casten. Java Basics - Anfänger-Themen 7
G String in Date casten Java Basics - Anfänger-Themen 4
G java.text.parseException: Unparseable Date Java Basics - Anfänger-Themen 7
U java.util.Date to java.sql.Date Java Basics - Anfänger-Themen 2
B JSpinner/Date auslesen Java Basics - Anfänger-Themen 3
S Datum umwandeln: String in Date umwandeln Java Basics - Anfänger-Themen 4
F date und time berechnungen Java Basics - Anfänger-Themen 2
G Formatieren von Date-Objekten Java Basics - Anfänger-Themen 5
J Date-Objekt formatiert als String ausgeben Java Basics - Anfänger-Themen 2
G Date Objekt für aktuelles Datum erzeugen Java Basics - Anfänger-Themen 9
G Objekte vom Typ Date vergleichen Java Basics - Anfänger-Themen 2
P JAVA in Exe Date ausführen Java Basics - Anfänger-Themen 7
B string 2 sql.date() Java Basics - Anfänger-Themen 8
G date in sekunden umwandeln und wieder zurück. Java Basics - Anfänger-Themen 6
A einlesen von date und boolean Java Basics - Anfänger-Themen 3
G String in java.sql.Date umwandeln Java Basics - Anfänger-Themen 4
W Java.mysql.date in GregorianCalender konvertieren Java Basics - Anfänger-Themen 2
W Aus Textfeld ein "MySQL Date" auslesen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben