1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Zeitdifferenz mit Java ermitteln / Werte einlesen

Dieses Thema im Forum "OS X-Developer" wurde erstellt von Aaron_Horowitz, 06.05.07.

  1. Aaron_Horowitz

    Dabei seit:
    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:
     
  2. slayercon

    slayercon Meraner

    Dabei seit:
    17.01.05
    Beiträge:
    231
  3. Aaron_Horowitz

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

Diese Seite empfehlen