Java Datums-/UhrzeitberechnungenAddition und Subtraktion leicht gemacht
Einfach mit JavaBerechnen Sie die Addition/Subtraktion von Datum/UhrzeitHierfür stellen wir ein Beispielprogramm vor.
Die Merkmale des Beispielprogramms sind wie folgt.
- Gibt das Ergebnis der Addition oder Subtraktion der angegebenen Zeitspanne vom aktuellen oder beliebigen Datum/Uhrzeit zurück.
- Bei Angabe einer positiven Zahl wird die Zeit vorgerückt, bei einem negativen Wert rückwärts.
Zum Beispiel vor 10 Tagen ab dem aktuellen Datum und der aktuellen Uhrzeit.BerechnungWenn ja, gilt Folgendes.
Kalender cal = addMonth(-10); - Sie können für die Zeitfelder „Jahr“, „Monat“, „Tag“, „Stunde“, „Minute“, „Sekunde“ und „Millisekunde“ eine beliebige Zeitspanne festlegen.
Auch relativ zur angegebenen ZeitBerechnungWenn ja, übergeben Sie die Calendar-Klasse als Argument.
Im Folgenden wird beispielsweise die angegebene Kalenderinstanz um ein Jahr vorverlegt.
Kalender cal = add(“Angegebener Kalender”,1,0,0,0,0,0,0); - Wenn der Wert jedes Zeitfelds seinen Bereich überschreitet, wird das nächstgrößere Zeitfeld inkrementiert oder dekrementiert.
Im Folgenden wird beispielsweise die aktuelle Zeit um 1 Stunde und 5 Minuten nach vorne verschoben.
Kalender cal = addMinute(65);
Beispielprogramm
Ausführung
Im Beispielprogramm als RückgabewertNach BerechnungDa wir ein java.util.Calendar-Objekt erhalten können, das das Datum enthält, verwenden wir die Methode java.util.Calendar#getTime(), um es in java.util.Date zu konvertieren, und java.text.SimpleDateFormat, um es in eine Datumszeichenfolge zu konvertieren .
◆Ausführungsbeispiel
public static void main(String[] args) { SimpleDateFormat f = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); System.out.println("Current date/time = "+ f.format( add (null,0,0,0,0,0,0,0).getTime())); System.out.println("Datum/Uhrzeit 1 Jahr später = "+ f.format(addYera(1) .getTime ())); System.out.println("Datum/Uhrzeit vor 1 Monat = "+ f.format(addMonth(-1).getTime())); System.out.println("3 Stunden später Datum/Uhrzeit = "+ f.format(addHour(3).getTime())); System.out.println("Datum/Uhrzeit vor 30 Stunden = "+ f.format(addHour(-30).getTime ())); System.out.println("Datum und Uhrzeit nach 40 Minuten = "+ f.format(addMinute(40).getTime())); System.out.println("Datum und Uhrzeit nach 80 Sekunden = "+ f.format (addMinute(40).getTime())); Time = "+ f.format(addSecond(80).getTime())); System.out.println("Datum/Uhrzeit 4 Tage vor 1 Monat = "+ f.format(add(null,0, -1,4,0,0,0,0).getTime())); }
◆Ausführungsergebnisse
Das aktuelle Datum und die aktuelle Uhrzeit sind der 25.03.2008, 00:00:00 Uhr.
Aktuelles Datum/Uhrzeit = 25.03.2008 00:00:00 Datum/Uhrzeit ein Jahr später = 25.03.2009 00:00:00 Datum/Uhrzeit vor einem Monat = 25.02.2008 00:00 :00 Datum und Uhrzeit 3 Stunden später = 25.03.2008 03:00:00 Datum und Uhrzeit vor 30 Stunden = 23.03.2008 18:00:00 Datum und Uhrzeit 40 Minuten später = 25.03.2008 00:40:00 Datum und Uhrzeit 80 Sekunden später = 25.03.2008 00:01:20 Datum und Uhrzeit 4 Tage vor 1 Monat = 29.02.2008 00:00:00
*2008 ist ein Schaltjahr, daher wird der letzte Tag im Februar der 29. sein.
Dieses Beispielprogramm ist für Chat&Messenger.Kalender-/Zeitplanverwaltungsfunktion„wird tatsächlich verwendet.