I denne vejledning lærer du -
- Vis aktuel dato i Java
- SimpleDateFormat: Parse og formatér datoer
- Sammenlign datoer Eksempel
Lad os først forstå de parametre, der består af en dato .
Det vil primært indeholde -
- Det år (i enten 2 eller 4 cifre)
- Den måned (i enten 2 cifre, First 3 bogstaver i måneden eller hele ord i måneden).
- Den dato (det vil være den faktiske dato i måneden).
- Den dag (dagen på det givne tidspunkt - ligesom søn, man, tir, etc.)
Med hensyn til computersystemer er der en hel del parametre, der kan bruges til at forbinde med en dato. Vi ser dem i de senere dele af dette emne.
Vis dato i Java
Lad os nu se, hvordan Java giver os datoen. Først skal vi se, hvordan vi får den aktuelle dato-
Java giver en dato-klasse under pakken java.util, pakken indeholder flere metoder til at lege med datoen.
Du kan bruge datoobjektet ved at påkalde konstruktøren af dato-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());}}
Produktion:
Wed Nov 29 06:36:22 UTC 2017
I ovenstående eksempel vises datoen i standardformat. Hvis vi vil vise datoen og klokkeslættet i et andet format, skal du først forstå formateringen af datoen.
SimpleDateFormat: Parse og formatér datoer
I skal alle have lært alfabeterne i din børnehave
….Lad os nu lære ABC'erne af datoformatet.
Brev | Dato eller tidskomponent | Eksempler |
---|---|---|
G | Era designator | AD |
y | År | 2018 |
M | Måned i år | Juli eller juli eller 07 |
w | Uge i år | 27 |
W | Uge i måned | 2 |
D | Dag i år | 189 |
d | Dag i måned | 10 |
F | Ugedag i måned | 2 |
E | Dagsnavn i uge | Tirsdag eller tirsdag |
u | Ugedag (1 = mandag,…, 7 = søndag) | 1 |
-en | Am / pm markør | OM EFTERMIDDAGEN |
H | Time i dag (0-23) | 0 |
k | Time om dagen (1-24) | 24 |
K | Time i am / pm (0-11) | 0 |
h | Time i am / pm (1-12) | 12 |
m | Minut i time | 30 |
s | Andet på minut | 55 |
S | Millisekund | 978 |
z | Tidszone | Pacific Standard Time; PST; GMT-08: 00 |
Z | Tidszone | -0800 |
x | Tidszone | -08 eller -0800 eller -08: 00 |
Bare rolig, du behøver ikke at huske alle disse, de kan henvises, når som helst du har brug for at formatere en bestemt dato.
Hvordan bruges SimpleDateFormat?
Java tilbyder en klasse kaldet SimpleDateFormat, der giver dig mulighed for at formatere og analysere datoer i henhold til dine behov.
Du kan bruge ovenstående tegn til at angive formatet - For eksempel:
1) Datoformat krævet: 2012.10.23 20:20:45 PST
Det angivne datoformat er yyyy.MM.dd HH: mm: ss zzz
2) Påkrævet datoformat: 09:30:00 23. maj 2012
Det angivne datoformat er- hh: mm: ss en dd-MMM-åååå
Tip: Vær forsigtig med store bogstaver. Hvis du fejler M med m, får du uønskede resultater!
Lad os 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}}
Produktion:
Wed Nov 29 06:31:41 UTC 201706:31:41 AM 29-Nov-2017
Sammenlign datoer Eksempel
Den mest nyttige metode til at sammenligne datoer er ved at bruge metoden - CompareTo ()
Lad os se på nedenstående kodestykke-
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 !!");}}}Produktion:
Date1 : 20-08-1981Date2 : 12-10-2012Date 1 occurs before Date 2