Ich habe über Date studiert,
Ich habe das Gefühl, dass es einige Teile gab, die ich in diesen beiden Punkten nicht sehr gut verstanden habe, deshalb werde ich sie zusammenfassen.
Tatsächlich wurde es überflutet, weil das Feld der Kalenderklasse nicht gut verstanden wurde, und es scheint, dass Java 8 eine neue Datums-API hat und etwas intuitiver gehandhabt werden kann, aber es ist auch eine primitive Datumsklasse. Ich fand es besser, mit dem Verstehen zu beginnen, also versuchte ich zu zeichnen, während ich verschiedene Dinge auf meine eigene Weise überprüfte.
__ Version mit Kalenderklasse ist ebenfalls hilfreich __
TenDaysDate.java
import java.text.SimpleDateFormat;
import java.util.Date;
public class TenDaysDate {
public static void main(String[] args) {
//Ändern Sie den langen Wert des Datumstyps, um das Datum 10 Tage später zu erhalten
Date d = new Date(); //Holen Sie sich das aktuelle Datum und die Uhrzeit
long ts = System.currentTimeMillis(); //Holen Sie sich die aktuelle Epoche Millisekunde
//Vergleichen Sie den Rückgabewert der Methode getTime vom Typ Datum mit dem Wert von currentTimeMillis
System.out.println("d.getTime:\t\t\t" + d.getTime()); // Date.getTime-Wert
System.out.println("currentTimeMillis:\t" + ts); //Wert von currentTimeMillis
if(ts == d.getTime()) System.out.println("Zusammen"); //lange Werte stimmen überein
//Zeigen Sie Datumsinformationen an, indem Sie das Format angeben
SimpleDateFormat f = new SimpleDateFormat("JJJJ Jahr MM Monat TT Tag"); //Geben Sie das Anzeigeformat an
System.out.println("Heutiges Datum:\t" + f.format(d)); //Übergeben Sie das Argument vom Typ Datum an den Typ SimpleDateFormat
//Fügen Sie mit der Datumstyp-Methode setTime Millisekunden im Wert von 10 Tagen hinzu und ändern Sie die Datumsinformationen 10 Tage später
d.setTime(d.getTime() + (long)(24 * 60 * 60 * 1000) * 10); // ()Ist eine Millisekunde des Tages
System.out.println("Datum 10 Tage später:\t" + f.format(d)); //Übergeben Sie den SimpleDateFormat-Typ als Argument vom Datumstyp
}
}
Ausgabeergebnis
d.getTime: 1602415769204
currentTimeMillis: 1602415769204
Zusammen
Heutiges Datum:11. Oktober 2020
Datum 10 Tage später:21. Oktober 2020
d.getTime(); //Epoche Millisekunde wird zurückgegeben
d.setTime(Epoche Millisekunde); // Epoche Millisekundeを引数に渡して日付情報をセットする
Wenn Sie "getTime () + 24 * 60 * 60 * 1000 * 10" einstellen, können Sie die Datumsinformationen 10 Tage nach Ablauf der Millisekunde ab der aktuellen Uhrzeit abrufen.
Müssen Sie in einigen Fällen als "(lang) 24 * 60 * 60 * 1000" zu einem langen Typ umwandeln?
Wenn ein ruhiges Jahr 10 Jahre später oder so etwas herauskommt, selbst wenn es ein Jahr später "24 * 60 * 60 * 1000 * 365 * 10" als Millisekunde ist, wird es nicht der gleiche Monat und der gleiche Tag 10 Jahre später sein. ..
Wenn Sie über einen langen Zeitraum berechnen, müssen Sie es dem Feld Jahr usw. hinzufügen. Es ist kompliziert.
Recommended Posts