Java-datum en -tijd:SimpleDateFormat, huidige datum en vergelijking
In deze tutorial leer je –
- Huidige datum in Java weergeven
- SimpleDateFormat:datums ontleden en opmaken
- Vergelijk datums voorbeeld
Laten we eerst de parameters begrijpen die bestaan uit een Datum .
Het zal voornamelijk –
. bevatten- Het jaar (in 2 of 4 cijfers)
- De maand (in 2 cijfers, eerste 3 letters van de maand of het hele woord van de maand).
- De datum (dit is de werkelijke datum van de maand).
- De dag (de dag op de opgegeven datum - zoals zo, ma, di, enz.)
Wat computersystemen betreft, zijn er nogal wat parameters die kunnen worden gebruikt om een datum te associëren. We zullen ze in de latere delen van dit onderwerp zien.
Datum weergeven in Java
Laten we nu eens kijken hoe Java ons de datum geeft. Eerst zullen we zien hoe we de huidige datum kunnen krijgen-
Java biedt een klasse Date onder het pakket java.util. Het pakket biedt verschillende methoden om met de datum te spelen.
U kunt het object Date gebruiken door de constructor van de klasse Date als volgt aan te roepen:
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()); } }
Uitvoer:
Wed Nov 29 06:36:22 UTC 2017
In het bovenstaande voorbeeld wordt de datum weergegeven in standaardindeling. Als we de datum en tijd in een andere indeling willen weergeven, moet u eerst de opmaak van datum begrijpen.
SimpleDateFormat:datums ontleden en formatteren
Jullie moeten allemaal de alfabetten hebben geleerd op je kleuterschool ....
Laten we nu het ABC van het datumformaat leren.
Brief | Datum of tijdcomponent | Voorbeelden |
---|---|---|
G | Tijdperk aanduiding | ADVERTENTIE |
j | Jaar | 2018 |
M | Maand in jaar | Juli of juli of 07 |
w | Week in jaar | 27 |
W | Week in maand | 2 |
D | Dag in jaar | 189 |
d | Dag in maand | 10 |
F | Dag van de week in maand | 2 |
E | Dagnaam in week | Dinsdag of dinsdag |
u | Dag nummer van de week (1 =maandag, …, 7 =zondag) | 1 |
een | Am/pm-markering | PM |
H | Uur in dag (0-23) | 0 |
k | Uur in dag (1-24) | 24 |
K | Uur in am/pm (0-11) | 0 |
u | Uur in am/pm (1-12) | 12 |
m | Minuut in uur | 30 |
s | Seconde in minuut | 55 |
S | Milliseconde | 978 |
z | Tijdzone | Pacific standaardtijd; PST; GMT-08:00 |
Z | Tijdzone | -0800 |
X | Tijdzone | -08 of -0800 of -08:00 |
Maak je geen zorgen, je hoeft deze niet allemaal te onthouden, ze kunnen op elk moment worden doorverwezen als je een bepaalde datum wilt noteren.
Hoe gebruik je de SimpleDateFormat?
Java biedt een klasse met de naam SimpleDateFormat waarmee u datums kunt opmaken en ontleden volgens uw vereisten.
U kunt de bovenstaande tekens gebruiken om het formaat te specificeren-
Bijvoorbeeld:
1) Datumnotatie vereist:2012.10.23 20:20:45 PST
De juiste gespecificeerde datumnotatie is- jjjj.MM.dd UU:mm:ss zzz
2) Datumnotatie vereist:09:30:00 AM 23-mei-2012
De juiste gespecificeerde datumnotatie is-uu:mm:ss a dd-MMM-jjjj
Tip: Wees voorzichtig met het gebruik van hoofdletters. Als je M verwart met m, krijg je ongewenste resultaten!
Laten we dit leren met een codevoorbeeld.
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 } }
Uitvoer:
Wed Nov 29 06:31:41 UTC 2017 06:31:41 AM 29-Nov-2017
Vergelijk datums voorbeeld
De handigste methode om datums te vergelijken is met behulp van de methode – CompareTo()
Laten we eens kijken naar het onderstaande codefragment-
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 !!"); } } }
Uitvoer:
Date1 : 20-08-1981 Date2 : 12-10-2012 Date 1 occurs before Date 2
Java