• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Zeitdifferenz mit Java ermitteln / Werte einlesen

Registriert
19.01.07
Beiträge
116
Hallo liebe Forum Mitglieder!:)
Beschäftige mich gerade mit Datum- und Zeitberechnungen und habe folgenden Code zur berechnen der Differenz zweier Daten aufgesetzt:
Code:
ackage zeit_und_datumsangaben;

import java.util.*;

public class Zeitdifferenz1 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Scanner sc = new Scanner(System.in);
		int jahr1,jahr2;
		[B]int monat1,monat2;[/B]
		int tag1,tag2;
		
		System.out.println("Geben Sie Jahr, Monat und Tag des ersten Zeitpunktes ein;");
		jahr1 = sc.nextInt();
		[B]monat1 = sc.nextInt();[/B]
		tag1 = sc.nextInt();
		System.out.println("Geben Sie Jahr, Monat und Tag des ersten Zeitpunktes ein;");
		jahr2 = sc.nextInt();
		[B]monat2 = sc.nextInt();[/B]
		tag2 = sc.nextInt();
		
		Calendar cal_1 = new GregorianCalendar();
		Calendar cal_2 = new GregorianCalendar();
		cal_1.set( jahr1, Calendar.MARCH, tag1, 0, 0, 0 );                      // erster Zeitpunkt
		cal_2.set( jahr2, Calendar.APRIL, tag2, 0, 0, 0 );                      // zweiter Zeitpunkt
		long time = cal_2.getTime().getTime() - cal_1.getTime().getTime();  // Differenz in ms
		long days = Math.round( (double)time / (24. * 60.*60.*1000.) );     // Differenz in Tagen
		System.out.println( "Zeit-Differenz in Tagen: " + days );
	}
	}
So läuft das Programm einwandfrei. Nur möchte ich gerne die Monate (MARCH, APRIL) per Konsole über eine Variable einlesen. Hab bereits herausbekommen, dass ich die Monate als Int-Variablen mit 'getInt()' einlesen muss. Ich weiß nur nicht wie ich dass umsetzten soll. Meine Java-Kenntnisse sind einfach noch zu limitiert, um getInt() anzuwenden. Zuerst wollte ich den Monat als String einlesen - natürlich falsch!
Dann hab ich es mal so versucht (auch erfolglost):
Code:
cal_1.set( jahr1, Calendar.monat1, tag1, 0, 0, 0 );                   
cal_2.set( jahr2, Calendar.monat2, tag2, 0, 0, 0 );

Wie kann ich die Monate mit 'getInt()' - falls notwendig- einlesen?

Ein herzliches Dankeschön an alle die mir irgendwie weiterhelfen!:innocent:
 
Registriert
19.01.07
Beiträge
116
cal_1.set( jahr1, monat1 - 1, tag1, 0, 0, 0 ); // erster Zeitpunkt
cal_2.set( jahr2, monat2 - 1, tag2, 0, 0, 0 ); // zweiter Zeitpunkt

So hat´s geklappt!