• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

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:
 
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!