Wie ein Vergleich der aktuellen Zeit mit der Zeit reichen?
Habe ich zwei String-Variablen - time1
und time2
. Beide enthalten den Wert im format HH:MM. Wie kann ich überprüfen:
- Wenn die aktuelle Zeit innerhalb
time1
undtime2?
time1
passieren wird in der nächsten
Stunde?
Upd.
Ich habe implementiert die folgenden zu konvertieren time1
zu Date
- format. Aber es nutzt abgeschrieben Methoden:
Date clTime1 = new Date();
SimpleDateFormat timeParser = new SimpleDateFormat("HH:mm", Locale.US);
try {
clTime1 = timeParser.parse(time1);
} catch (ParseException e) {
}
Calendar now = Calendar.getInstance();
clTime1.setYear(now.get(Calendar.YEAR) - 1900);
clTime1.setMonth(now.get(Calendar.MONTH));
clTime1.setDate(now.get(Calendar.DAY_OF_MONTH));
System.out.println(clTime1.toString());
- Wenn ich
java.sql.Time
, dann kann ich mal den Wert von meinen strings -Time.valueOf(time1).getTime()
. Aber wie sollte ich die aktuelle Uhrzeit im gleichen format (long
)?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Date
Objekte (die auch Zeit-Objekte)
Erstellen Sie eine neue
Date
Objekt.enthalten die aktuelle Uhrzeit.
Datum.vor() und Date.nach () - Methoden, um zu bestimmen, wenn
Sie sind in den Zeit-Intervall.
EDIT: Sie sollten in der Lage sein verwenden Sie diesen direkt (und keine veralteten Methoden)
Date
. Können Sie mir helfen mit diesem?HOUR_OF_DAY
wenn Sie wollen 24-Stunden-formatVergessen Sie nicht, umgeben mit einem try-catch-block
dies ist, was ich verwendet und es funktionierte für mich:
Blick in den Kalender Klasse. Es hat den Methoden, Sie zu unterstützen, was Sie Fragen. Date ist veraltet und wird nicht empfohlen zu verwenden.
Hier ist der link zu der API. Kalender
Über die Nutzung. Zuerst müssen Sie rufen
Calendar.getInstance()
erstellen Sie ein Kalender-Objekt.Als Nächstes müssen Sie die beiden Felder mit
cal.set(Calendar.HOUR, your hours)
undCalendar.MINUTES
auf die gleiche Weise. Als Nächstes können Sie die compare-Funktion vor oder nach Funktionen, um die gewünschte info. Auch können Sie eine Instanz mit der aktuellen Zeit in die aktuelle "locale".Zum Beispiel, wenn Sie vergleichen möchten, die Zeit zwischen 11 Uhr nachts bis 6 Uhr morgens für die Berechnung der zusätzlichen Nacht-tarif für alle vechicle. dann folgenden code wird Ihnen helfen.
//Code
Als jetzt, denke ich über den folgenden Ansatz:
So, ich werde vergleichen müssen nur integer-Werte
clTime
undnowTime
.wenn Sie möchten die Zeit zwischen nach 9 UHR vor 9 Uhr, können Sie folgende Bedingung..