Java input-Datum von Scanner in einer Zeile
Ich versuche zu Lesen Datum von einem Benutzer zu übergeben, um GregorianCalendar variable. Derzeit habe ich eine unangenehme Einrichtung, wo es liest Zeile für Zeile. Können Sie helfen mit einer Lösung, die speichert die Eingabe in einer Zeile? Ich fand " = SimpleDateFormat Klasse, aber ich kann nicht finden, eine gute Passform für diesen bestimmten Zweck.
Scanner time = new Scanner(System.in)
System.out.println("Type year: ");int y =time.nextInt();
System.out.println("Type month: ");int m =time.nextInt();
System.out.println("Type day: ");int d = time.nextInt();
System.out.println("Type hour: ");int h = time.nextInt();
System.out.println("Type minute: ");int mm = time.nextInt();
GregorianCalendar data = new GregorianCalendar(y,m,d,h,mm);
InformationsquelleAutor Turo | 2015-02-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde vorschlagen, Sie Lesen eine Zeile text mit einem bestimmten format, dann verwenden Sie
DateFormat
zu analysieren. Zum Beispiel:Wenn Sie können, verwenden Sie die Java-8
java.time
Klassen, oder Joda Time - mit der gleichen Grundidee, aber durch die Verwendung der Klassen aus diesen APIs. Beide sind viel besser als mitDate
undCalendar
.Rufen Sie set time auf dem Kalender nach dem Bau.
was meinst du mit die Zeit einstellen?
ok, hab es:) setTime Methode von GregorianCalendar . werde es probieren, danke
Das format vorgeschlagen, in der Antwort ist der standard, definiert von der
ISO 8601
. Das sinnvollste format ist immer häufiger in Unternehmen und Industrie, und ist in der Regel angegeben in der modernen internet-und Daten-Protokolle. Dieses format wird sowohl durch die Joda-Time und java.Zeit als Standard für borne-Generierung und Parsen von string-Darstellungen von Datum / Uhrzeit-Werte.InformationsquelleAutor Jon Skeet