Java Datum och tid

Låt oss först förstå parametrarna som består av en Datum.

Hur man använder Date in Java

Den kommer i första hand att innehålla –

  • Smakämnen år (med antingen 2 eller 4 siffror)
  • Smakämnen månad (med antingen 2 siffror, första 3 bokstäverna i månaden eller hela månadens ord).
  • Smakämnen datum (det kommer att vara det faktiska datumet i månaden).
  • Smakämnen dag (dagen vid det angivna datumet – som sön, mån, tis, etc.)

När det gäller datorsystem finns det ganska många parametrar som kan användas för att associera med ett datum. Vi kommer att se dem i de senare delarna av detta ämne.

Visa datum in Java

Låt oss nu se hur Java ge oss datumet. Först ska vi se hur man får det aktuella datumet-

Java tillhandahåller en Date-klass under paketet java.util. Paketet tillhandahåller flera metoder för att leka med datumet.

Du kan använda Date-objektet genom att anropa konstruktorn för Date-klassen enligt följande:

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());
 }
}

Produktion:

Wed Nov 29 06:36:22 UTC 2017

I exemplet ovan visas datum i standardformat, om vi vill visa datum och tid i ett annat format, förstå först formateringen av datum.

SimpleDateFormat: Analysera och formatera datum

Ni måste alla ha lärt er alfabetet på er dagis...

Låt oss nu lära oss ABC:erna för datumformatet.

Brev Datum eller Tidskomponent Exempel
G Era betecknare AD
y År 2018
M Månad i år juli eller juli eller 07
w Vecka i år 27
W Vecka i månad 2
D Dag i år 189
d Dag i månad 10
F Veckodag i månad 2
E Dagens namn i veckan tisdag eller tis
u Dagnummer i veckan (1 = Monday, …, 7 = söndag) 1
a Am/pm-markör PM
H Timme på dygnet (0-23) 0
k Timme på dygnet (1-24) 24
K Timme i am/pm (0-11) 0
h Timme i am/pm (1-12) 12
m Minut i timme 30
s Tvåa på minuten 55
S millisekund 978
z tidszon Pacific Standard Time; PST; GMT-08:00
Z tidszon -0800
X tidszon -08 eller -0800 eller -08:00

Oroa dig inte, du behöver inte komma ihåg alla dessa, de kan hänvisas när du behöver formatera ett visst datum.

Hur använder man SimpleDateFormat?

Java tillhandahåller en klass som heter SimpleDateFormat som låter dig formatera och analysera datum enligt dina krav.

Du kan använda tecknen ovan för att ange format-

Till exempel:

1) Datumformat krävs: 2012.10.23 20:20:45 PST

Det lämpliga datumformatet som anges kommer att vara- åååå.MM.dd HH:mm:ss zzz

2) Datumformat krävs:09:30:00 AM 23-May-2012

Det lämpliga datumformatet som anges kommer att vara-hh:mm:ss en dd-MMM-åååå

Dricks: Var försiktig med versaler. Om du missar M med m, kommer du att få oönskade resultat!

Låt oss lära oss detta med ett kodexempel.

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
 }
}

Produktion:

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

Jämför datum exempel

Jämför datum exempel

Den mest användbara metoden för att jämföra datum är att använda metoden – compareTo()

Låt oss ta en titt på kodavsnittet nedan-

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-1981
Date2 : 12-10-2012
Date 1 occurs before Date 2