In deze tutorial leer je -
- Geef de huidige datum weer in Java
- SimpleDateFormat: Data ontleden en formatteren
- Vergelijk datums Voorbeeld
Laten we eerst de parameters begrijpen die uit een datum bestaan .
Het bevat voornamelijk -
- 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 Date-klasse 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 constructorDate objDate = new Date();// Display the Date & Time using toString()System.out.println(objDate.toString());}}
Uitgang:
Wed Nov 29 06:36:22 UTC 2017
In het bovenstaande voorbeeld wordt de datum weergegeven in het standaardformaat.Als we de datum en tijd in een ander formaat willen weergeven, moet u eerst de opmaak van de datum begrijpen.
SimpleDateFormat: Data ontleden en formatteren
Jullie moeten allemaal het alfabet op jullie kleuterschool hebben geleerd
Laten we nu de ABC's van het datumnotatie leren.
Brief | Datum- of tijdcomponent | Voorbeelden |
---|---|---|
G | Tijdperk aanduiding | ADVERTENTIE |
y | 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 di |
u | Dagnummer van de week (1 = maandag, ..., 7 = zondag) | 1 |
een | Am / pm-markering | P.M |
H. | Uur in dag (0-23) | 0 |
k | Uur in dag (1-24) | 24 |
K | Uur in am / pm (0-11) | 0 |
h | Uur in am / pm (1-12) | 12 |
m | Minuut in uur | 30 |
s | Tweede in minuut | 55 |
S | Milliseconde | 978 |
z | Tijdzone | Pacific Standard Time; PST; GMT-08: 00 |
Z | Tijdzone | -0800 |
X | Tijdzone | -08 of -0800 of -08: 00 |
Maakt u zich geen zorgen, u hoeft deze niet allemaal te onthouden, ze kunnen op elk moment worden doorverwezen als u een bepaalde datum wilt formatteren.
Hoe gebruik ik SimpleDateFormat?
Java biedt een klasse genaamd SimpleDateFormat waarmee u datums kunt formatteren en ontleden volgens uw vereisten.
U kunt de bovenstaande tekens gebruiken om het formaat te specificeren - bijvoorbeeld:
1) Vereiste datumnotatie: 2012.10.23 20:20:45 PST
De juiste datumnotatie die is opgegeven, begint jjjj.MM.dd UU: mm: ss zzz
2) Vereiste datumnotatie: 09:30:00 AM 23-mei-2012
De juiste datumnotatie die is opgegeven, is uu: mm: ss en dd-MMM-jjjj
Tip: wees voorzichtig met het gebruik van hoofdletters. Als u M met m vergist, krijgt u 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 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}}
Uitgang:
Wed Nov 29 06:31:41 UTC 201706:31:41 AM 29-Nov-2017
Vergelijk datums Voorbeeld
De handigste methode om datums te vergelijken is door de methode te gebruiken - CompareTo ()
Laten we het onderstaande codefragment eens bekijken:
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 !!");}}}Uitgang:
Date1 : 20-08-1981Date2 : 12-10-2012Date 1 occurs before Date 2