2 Stimmen

einfaches Java-Programm, das 2 Zeitformateingaben ermöglicht und die Zeitdifferenz zählt

Ich würde gerne wissen, wie man ein einfaches Programm erstellt wo der Benutzer 2 Eingabezeiten (hh:mm) eingeben kann ---und die vergehende Zeit als Ausgabe erhält.

wird das Programm ausgeführt und ermöglicht es dem Benutzer, Zeit-Eingaben zu schreiben vielleicht ein einfaches Programm, das über die Eingabeaufforderung ausgeführt wird.

Beispiel, wenn das Programm läuft:

  1. Bitte geben Sie die Startzeit ein!
    (z.B.: der Benutzer schreibt im Format "hh:mm" wie; 19.14)

  2. Schreiben/Eingabe der Endzeit: (Benutzer schreibt im Format "hh:mm", z. B. 23.40)

  3. Die Ausgabe wird wie folgt aussehen: "Sie haben hh (Stunde) verstrichen"

Ich habe nach dem Zeitformat gegoogelt, oder sogar simpledateformat verwendet, aber ich bin irgendwie durcheinander gekommen, als ich versucht habe, die Eingabe in die Klassen oder was auch immer zu implementieren.

Kann mir jemand helfen, dieses Problem zu lösen?

Vielen Dank im Voraus.

0voto

KV Prajapati Punkte 91877

Sie müssen Folgendes verwenden Joda-Time API.

0voto

Ich vermute, Sie suchen nach diesem..

import java.text.*;

    import java.util.*;

    public class DifferenceBetweenTimes {

        public static void main(String[] args) throws InterruptedException{

            Date d1 = new Date( 15, 10, 44);
                   Date d2 = new Date( 15, 30, 44);

            SimpleDateFormat dfm = new SimpleDateFormat ("HH:mm:ss") ;

            System.out.println(dfm.format(d1));

            System.out.println(dfm.format(d2));

           long timeDiff = ( Math.abs( d1.getTime() - d2.getTime()) / 1000 ) / 60;

             System.out.println(timeDiff); 

        }

    }

0voto

Shaftoe2702 Punkte 135

Ich glaube nicht, dass Ihr Aufruf des Date-Konstruktors das tut, was Sie denken, dass es ist.

Der Drei-Argument-Konstruktor für Datum lautet:

Date(int Jahr, int Monat, int Datum) Veraltet. Ab JDK Version 1.1 ersetzt durch Calendar.set(Jahr + 1900, Monat, Datum) oder GregorianCalendar(Jahr + 1900, Monat, Datum).

Versuchen Sie dies:

Date(int Jahr, int Monat, int Datum, int Std, int Min, i Veraltet. Ab JDK Version 1.1 ersetzt durch Calendar.set(year + 1900, month, date, hrs, min, sec) oder GregorianCalendar(year + 1900, month, date, hrs, min, sec)

Wenn Sie sich nur für die verstrichene Zeit interessieren, setzen Sie für beide das gleiche Datum ein und ziehen es ab.

Versuchen Sie dies:

Datum d1 = new Date( 15, 10, 44); System.out.println(d1.toString());

sehen, welches Datum herausgegeben wird.

  • Wenn es sich um eine Hausaufgabe handelt, wird der Lehrer wahrscheinlich die Verwendung der Methoden der Datum/Uhrzeit-API-Klassen ablehnen.

import java.util.Date;

public class SomeOnesHomeWork {

public final int secondsInMinute = 60;
public final int millisecondsPerSecond =1000;
public final int milliPerMinute = secondsInMinute * millisecondsPerSecond;

public int convertMillisecondsToMinutes(long milliseconds){
     return (int) (milliseconds / milliPerMinute);
}

public int differenceInMinutes(long beginTime,long endTime){
    return convertMillisecondsToMinutes(endTime - beginTime);
}

public static void main(String[] argc){

    //Make the dates
    Date d1 = new Date(1999,12,31,23,45,44);
    Date d2 = new Date(1999,12,31,23,59,59);

    //We Could use Static methods, probably should
    SomeOnesHomeWork aHomeWorkObject = new SomeOnesHomeWork();
    System.out.println("The time between two dates in minutes: "
        + aHomeWorkObject.differenceInMinutes(
                d1.getTime(),d2.getTime()));
}

}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X