Java Dátum és idő

Először értsük meg azokat a paramétereket, amelyek az a találka.

Hogyan kell használni a dátumot Java

Elsősorban tartalmazni fogja –

  • A év (2 vagy 4 számjegyből)
  • A hónap (vagy 2 számjeggyel, a hónap első 3 betűje vagy a hónap teljes szava).
  • A adat (ez a hónap tényleges dátuma lesz).
  • A nap (az adott dátum szerinti nap – pl. V, H, K stb.)

Ami a számítógépes rendszereket illeti, meglehetősen sok paramétert lehet dátumhoz rendelni. A téma későbbi részeiben látni fogjuk őket.

Dátum megjelenítése Java

Most pedig lássuk, hogyan Java adja meg nekünk a dátumot. Először is meglátjuk, hogyan kapjuk meg az aktuális dátumot-

Java Dátum osztályt biztosít a java.util csomag alatt. A csomag számos módszert biztosít a dátummal való játékhoz.

A Date objektumot a Date osztály konstruktorának meghívásával használhatja az alábbiak szerint:

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

output:

Wed Nov 29 06:36:22 UTC 2017

A fenti példában a dátum alapértelmezett formátumban látható. Ha a dátumot és az időt más formátumban akarjuk megjeleníteni, először értse meg a dátum formázását.

SimpleDateFormat: Dátumok elemzése és formázása

Bizonyára mindenki megtanulta az ábécét az óvodában…

Most tanuljuk meg a dátumformátum ABC-jét.

Levél Dátum vagy idő komponens Példák
G Korszakjelző AD
y Év 2018
M Hónap az évben július vagy július vagy 07
w Hétről évre 27
W Hétről hónapra 2
D Nap az évben 189
d Nap a hónapban 10
F A hét napja a hónapban 2
E Nap neve a héten kedd vagy kedd
u A hét napjának száma (1 = Monday, …, 7 = vasárnap) 1
a am/pm jelző PM
H Napi óra (0-23) 0
k Napi óra (1-24) 24
K Délelőtt/dél óra (0-11) 0
h Délelőtt/dél óra (1-12) 12
m Perc az órában 30
s Második percben 55
S Miliszekundum 978
z Időzóna csendes-óceáni szabványidő; PST; GMT-08:00
Z Időzóna -0800
X Időzóna -08 vagy -0800 vagy -08:00

Ne aggódjon, nem kell mindezekre emlékeznie, bármikor hivatkozhat rájuk, amikor egy adott dátumot kell formáznia.

Hogyan kell használni a SimpleDateFormat-ot?

Java egy SimpleDateFormat nevű osztályt biztosít, amely lehetővé teszi a dátumok formázását és elemzését az Ön igényei szerint.

A fenti karakterekkel megadhatja a formátumot-

Például:

1) Szükséges dátumformátum: 2012.10.23 20:20:45 PST

A megfelelő dátumformátum a következő lesz: éééé.hh.nn ÓÓ:pp:ss zzz

2) Szükséges dátumformátum:09:30:00 AM 23-May-2012

A megfelelő dátumformátum a következő lesz:óó:pp:ss egy nn-HH-éééé

Tipp: Legyen óvatos a nagybetűkkel. Ha összetéveszti M-et m-mel, nemkívánatos eredményeket fog elérni!

Tanuljuk meg ezt egy kódpéldával.

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

output:

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

Dátumok összehasonlítása példa

Dátumok összehasonlítása példa

A dátumok összehasonlításának leghasznosabb módja az összehasonlítás() módszer használata.

Vessünk egy pillantást az alábbi kódrészletre -

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

output:

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