Java Dato og klokkeslett

La oss fรธrst forstรฅ parametrene som bestรฅr av en Dato.

Slik bruker du Dato i Java

Den vil primรฆrt inneholde -

  • Ocuco รฅr (med enten 2 eller 4 sifre)
  • Ocuco mรฅned (med enten 2 sifre, de tre fรธrste bokstavene i mรฅneden eller hele mรฅnedens ord).
  • Ocuco data (det vil vรฆre den faktiske datoen i mรฅneden).
  • Ocuco dag (dagen pรฅ den gitte datoen โ€“ som sรธn, man, tirsdag osv.)

Nรฅr det gjelder datasystemer, er det ganske mange parametere som kan brukes til รฅ knytte til en dato. Vi skal se dem i de senere delene av dette emnet.

Vis dato i Java

La oss nรฅ se hvordan Java gi oss datoen. Fรธrst skal vi se hvordan du fรฅr den nรฅvรฆrende datoen-

Java gir en Date-klasse under java.util-pakken, Pakken gir flere metoder for รฅ leke med datoen.

Du kan bruke Date-objektet ved รฅ starte 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 constructor
  Date objDate = new Date();
  // Display the Date & Time using toString()
  System.out.println(objDate.toString());
 }
}

Utgang:

Wed Nov 29 06:36:22 UTC 2017

I eksempelet ovenfor vises dato i standardformat, hvis vi รธnsker รฅ vise dato og klokkeslett i et annet format, mรฅ du fรธrst forstรฅ formateringen av dato.

SimpleDateFormat: Parse og formater datoer

Dere mรฅ alle ha lรฆrt alfabetene i barnehagen deres...

La oss nรฅ lรฆre ABC-ene for datoformatet.

Brev Dato- eller tidskomponent Eksempler
G Epoke betegner 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 Dagens navn i uken tirsdag eller tirs
u Dagnummer i uken (1 = Monday, โ€ฆ, 7 = sรธndag) 1
a Am/pm markรธr PM
H Time i dรธgnet (0-23) 0
k Time i dรธgnet (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รฅ minuttet 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 som helst du trenger รฅ formatere en bestemt dato.

Hvordan bruker jeg SimpleDateFormat?

Java gir en klasse kalt SimpleDateFormat som lar deg formatere og analysere datoer i henhold til dine krav.

Du kan bruke tegnene ovenfor for รฅ spesifisere format-

For eksempel:

1) Datoformat pรฅkrevd: 2012.10.23 20:20:45 PST

Det riktige datoformatet som er spesifisert vil vรฆre- รฅรฅรฅรฅ.MM.dd TT:mm:ss zzz

2) Datoformat pรฅkrevd:09:30:00 AM 23-May-2012

Det riktige datoformatet som er spesifisert vil vรฆre-tt: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 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
 }
}

Utgang:

Wed Nov 29 06:31:41 UTC 2017
06:31:41 AM 29-Nov-2017

Sammenlign Datoer Eksempel

Sammenlign Datoer Eksempel

Den mest nyttige metoden for รฅ sammenligne datoer er รฅ bruke metoden โ€“ compareTo()

La oss ta en titt pรฅ kodebiten nedenfor-

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 !!");
  }
 }
}

Utgang:

Date1 : 20-08-1981
Date2 : 12-10-2012
Date 1 occurs before Date 2

Oppsummer dette innlegget med: