Java Datum und Uhrzeit
Lassen Sie uns zunächst die Parameter verstehen, die aus a bestehen Datum.
Es enthält in erster Linie:
- Die Jahr (entweder 2- oder 4-stellig)
- Die Monat (entweder zweistellig, die ersten drei Buchstaben des Monats oder das gesamte Wort des Monats).
- Die Datum (es wird das tatsächliche Datum des Monats sein).
- Die Tag (der Tag am angegebenen Datum – wie So, Mo, Di usw.)
Bei Computersystemen gibt es eine ganze Reihe von Parametern, die mit einem Datum verknüpft werden können. Wir werden sie in den späteren Teilen dieses Themas sehen.
Datum anzeigen in Java
Lassen Sie uns nun sehen, wie Java geben Sie uns das Datum. Zuerst werden wir sehen, wie man das aktuelle Datum erhält-
Java stellt eine Date-Klasse unter dem Paket java.util bereit. Das Paket bietet mehrere Methoden, um mit dem Datum zu experimentieren.
Sie können das Date-Objekt verwenden, indem Sie den Konstruktor der Date-Klasse wie folgt aufrufen:
import java.util.Date; class Date_Ex1 { public static void main(String args[]) { // Instantiate a Date object by invoking its constructor Date objDate = new Date(); // Display the Date & Time using toString() System.out.println(objDate.toString()); } }
Ausgang:
Wed Nov 29 06:36:22 UTC 2017
Im obigen Beispiel wird das Datum im Standardformat angezeigt. Wenn wir Datum und Uhrzeit in einem anderen Format anzeigen möchten, müssen wir uns zunächst mit der Formatierung des Datums vertraut machen.
SimpleDateFormat: Daten analysieren und formatieren
Sie alle müssen die Alphabete in Ihrem Kindergarten gelernt haben ….
Lassen Sie uns nun das ABC des Datumsformats lernen.
Brief | Datums- oder Zeitkomponente | Beispiele |
---|---|---|
G | Epochenbezeichner | AD |
y | Jahr | 2018 |
M | Monat im Jahr | Juli oder Juli oder 07 |
w | Woche im Jahr | 27 |
W | Woche im Monat | 2 |
D | Tag im Jahr | 189 |
d | Tag im Monat | 10 |
F | Wochentag im Monat | 2 |
E | Tagesname in der Woche | Dienstag oder Di |
u | Tagesnummer der Woche (1 = Monday, …, 7 = Sonntag) | 1 |
a | Am/pm-Markierung | PM |
H | Stunde im Tag (0-23) | 0 |
k | Stunde im Tag (1-24) | 24 |
K | Stunde in am/pm (0-11) | 0 |
h | Stunde in am/pm (1-12) | 12 |
m | Minute in Stunde | 30 |
s | Sekunde in Minute | 55 |
S | Millisekunde | 978 |
z | Zeitzone | Pazifische Standardzeit; PST; GMT-08:00 |
Z | Zeitzone | -0800 |
X | Zeitzone | -08 oder -0800 oder -08:00 |
Keine Sorge, Sie müssen sich nicht alle diese Informationen merken. Sie können jederzeit darauf zurückgreifen, wenn Sie ein bestimmtes Datum formatieren müssen.
Wie verwende ich das SimpleDateFormat?
Java bietet eine Klasse namens SimpleDateFormat, mit der Sie Daten entsprechend Ihren Anforderungen formatieren und analysieren können.
Sie können die oben genannten Zeichen verwenden, um das Format festzulegen.
Beispielsweise:
1) Datumsformat erforderlich: 2012.10.23 20:20:45 PST
Das entsprechende Datumsformat wird angegeben: jjjj.MM.tt HH:mm:ss zzz
2) Datumsformat erforderlich:09:30:00 AM 23-May-2012
Das entsprechende Datumsformat wird angegeben:hh:mm:ss a tt-mmm-jjjj
TIPP: Seien Sie vorsichtig mit der Großschreibung der Buchstaben. Wenn Sie M mit m verwechseln, werden Sie unerwünschte Ergebnisse erhalten!
Lassen Sie uns dies anhand eines Codebeispiels lernen.
import java.text.SimpleDateFormat; import java.util.Date; class TestDates_Format { public static void main(String args[]) { Date objDate = new Date(); // Current System Date and time is assigned to objDate System.out.println(objDate); String strDateFormat = "hh:mm:ss a dd-MMM-yyyy"; //Date format is Specified SimpleDateFormat objSDF = new SimpleDateFormat(strDateFormat); //Date format string is passed as an argument to the Date format object System.out.println(objSDF.format(objDate)); //Date formatting is applied to the current date } }
Ausgang:
Wed Nov 29 06:31:41 UTC 2017 06:31:41 AM 29-Nov-2017
Beispiel für einen Datenvergleich
Die nützlichste Methode zum Vergleichen von Daten ist die Verwendung der Methode „compareTo()“
Werfen wir einen Blick auf den folgenden Codeausschnitt:
import java.text.SimpleDateFormat; import java.text.ParseException; import java.util.Date; class TestDates_Compare { public static void main(String args[]) throws ParseException { SimpleDateFormat objSDF = new SimpleDateFormat("dd-mm-yyyy"); Date dt_1 = objSDF.parse("20-08-1981"); Date dt_2 = objSDF.parse("12-10-2012"); System.out.println("Date1 : " + objSDF.format(dt_1)); System.out.println("Date2 : " + objSDF.format(dt_2)); if (dt_1.compareTo(dt_2) > 0) { System.out.println("Date 1 occurs after Date 2"); } // compareTo method returns the value greater than 0 if this Date is after the Date argument. else if (dt_1.compareTo(dt_2) < 0) { System.out.println("Date 1 occurs before Date 2"); } // compareTo method returns the value less than 0 if this Date is before the Date argument; else if (dt_1.compareTo(dt_2) == 0) { System.out.println("Both are same dates"); } // compareTo method returns the value 0 if the argument Date is equal to the second Date; else { System.out.println("You seem to be a time traveller !!"); } } }
Ausgang:
Date1 : 20-08-1981 Date2 : 12-10-2012 Date 1 occurs before Date 2