Java Date & Tid: SimpleDateFormat, nåværende dato & Sammenligne

Innholdsfortegnelse:

Anonim

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