I denne opplæringen lærer du -
- Vis gjeldende dato i Java
- SimpleDateFormat: Analyse- og formatdatoer
- Sammenlign datoer Eksempel
La oss først forstå parametrene som består av en dato .
Den vil først og fremst inneholde -
- Den året (i enten 2 eller 4 siffer)
- Den måned (i enten 2 siffer, First 3 bokstavene i måneden eller hele ord i måneden).
- Den dato (det vil være den faktiske datoen i måneden).
- Den dagen (dagen på gitt dato - som Sun, man, tirs, etc.)
Når det gjelder datasystemer, er det ganske mange parametere som kan brukes til å knytte seg til en dato. Vi skal se dem i de senere delene av dette emnet.
Vis dato i Java
La oss nå se hvordan Java gir oss datoen. Først skal vi se hvordan vi får den nåværende datoen-
Java gir en dataklasse under java.util-pakken, pakken gir flere metoder for å leke med datoen.
Du kan bruke Date-objektet ved å påkalle konstruktøren av Date-klassen som følger:
import java.util.Date;class Date_Ex1 {public static void main(String args[]) {// Instantiate a Date object by invoking its constructorDate objDate = new Date();// Display the Date & Time using toString()System.out.println(objDate.toString());}}
Produksjon:
Wed Nov 29 06:36:22 UTC 2017
I ovennevnte dato vises i standardformat. Hvis vi vil vise dato og klokkeslett i et annet format, må du først forstå formateringen av datoen.
SimpleDateFormat: Analyse- og formatdatoer
Dere må alle ha lært alfabetene i barnehagen din
….La oss nå lære ABCene av datoformatet.
Brev | Dato eller tidskomponent | Eksempler |
---|---|---|
G | Era designator | AD |
y | År | 2018 |
M | Måned i år | Juli eller juli eller 07 |
w | Uke i år | 27 |
W | Uke i måned | 2 |
D | Dag i år | 189 |
d | Dag i måned | 10 |
F | Ukedag i måned | 2 |
E | Dagsnavn i uke | Tirsdag eller tirsdag |
u | Ukedag (1 = mandag,…, 7 = søndag) | 1 |
en | Am / pm markør | PM |
H | Time i dag (0-23) | 0 |
k | Time på dag (1-24) | 24 |
K | Time i am / pm (0-11) | 0 |
h | Time i am / pm (1-12) | 12 |
m | Minutt i time | 30 |
s | Andre på minutt | 55 |
S | Millisekund | 978 |
z | Tidssone | Pacific Standard Time; PST; GMT-08: 00 |
Z | Tidssone | -0800 |
X | Tidssone | -08 eller -0800 eller -08: 00 |
Ikke bekymre deg, du trenger ikke å huske alle disse, de kan henvises når du trenger for å formatere en bestemt dato.
Hvordan bruke SimpleDateFormat?
Java tilbyr en klasse kalt SimpleDateFormat som lar deg formatere og analysere datoer i henhold til dine behov.
Du kan bruke tegnene ovenfor for å spesifisere formatet - For eksempel:
1) Datoformat kreves: 2012.10.23 20:20:45 PST
Det angitte datoformatet vil være yyyy.MM.dd HH: mm: ss zzz
2) Datoformat kreves: 09:30:00 23. mai 2012
Det aktuelle datoformatet som er spesifisert, vil være- hh: mm: ss en dd-MMM-åååå
Tips: Vær forsiktig med store bokstaver. Hvis du feiler M med m, vil du få uønskede resultater!
La oss lære dette med et kodeeksempel.
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 objDateSystem.out.println(objDate);String strDateFormat = "hh:mm:ss a dd-MMM-yyyy"; //Date format is SpecifiedSimpleDateFormat objSDF = new SimpleDateFormat(strDateFormat); //Date format string is passed as an argument to the Date format objectSystem.out.println(objSDF.format(objDate)); //Date formatting is applied to the current date}}
Produksjon:
Wed Nov 29 06:31:41 UTC 201706:31:41 AM 29-Nov-2017
Sammenlign datoer Eksempel
Den mest nyttige metoden for å sammenligne datoer er å bruke metoden - CompareTo ()
La oss ta en titt på nedenstående kodebit-
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 !!");}}}Produksjon:
Date1 : 20-08-1981Date2 : 12-10-2012Date 1 occurs before Date 2