Java Data e ora

Cerchiamo innanzitutto di comprendere i parametri che consistono in a Data.

Come utilizzare Data in Java

Conterrà principalmente:

  • anno (in 2 o 4 cifre)
  • mese (in 2 cifre, prime 3 lettere del mese o l'intera parola del mese).
  • quando (sarà la data effettiva del mese).
  • giorno (il giorno alla data indicata – come domenica, lunedì, martedì, ecc.)

Per quanto riguarda i sistemi informatici, ci sono parecchi parametri che possono essere usati per associare una data. Li vedremo nelle parti successive di questo argomento.

Visualizza la data in Java

Ora vediamo come Java fornirci la data. Per prima cosa vedremo come ottenere la data corrente-

Java fornisce una classe Date nel pacchetto java.util. Il pacchetto fornisce diversi metodi per giocare con la data.

È possibile utilizzare l'oggetto Date richiamando il costruttore della classe Date come segue:

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

Produzione:

Wed Nov 29 06:36:22 UTC 2017

Nell'esempio sopra la data mostrata nel formato predefinito, se vogliamo mostrare la data e l'ora in un altro formato, comprendiamo prima la formattazione della data.

SimpleDateFormat: analizza e formatta le date

Tutti voi avrete imparato gli alfabeti alla scuola materna….

Impariamo ora l'ABC del formato della data.

Lettera Componente data o ora Esempi
G Designatore dell'era AD
y Anno 2018
M Mese nell'anno Luglio o luglio o 07
w Settimana nell'anno 27
W Settimana nel mese 2
D Giorno dell'anno 189
d Giorno del mese 10
F Giorno della settimana nel mese 2
E Nome del giorno nella settimana Martedì o martedì
u Numero del giorno della settimana (1 = Monday, …, 7 = domenica) 1
a Indicatore am/pm PM
H Ora del giorno (0-23) 0
k Ora del giorno (1-24) 24
K Ora in am/pm (0-11) 0
h Ora in am/pm (1-12) 12
m Minuto in ora 30
s Secondo in minuto 55
S millisecondo 978
z Fuso orario Ora solare del Pacifico; PST; GMT-08:00
Z Fuso orario all'0800 ottobre
X Fuso orario -08 o -0800:08 o -00:XNUMX

Non preoccuparti, non è necessario ricordarli tutti, puoi consultarli ogni volta che devi formattare una data particolare.

Come utilizzare SimpleDateFormat?

Java fornisce una classe chiamata SimpleDateFormat che ti consente di formattare e analizzare le date secondo le tue esigenze.

È possibile utilizzare i caratteri sopra per specificare il formato-

Per esempio:

1) Formato data richiesto: 2012.10.23 20:20:45 PST

Il formato data appropriato specificato sarà- aaaa.MM.gg HH:mm:ss zzz

2) Formato data richiesto:09:30:00 AM 23-May-2012

Il formato data appropriato specificato sarà-hh:mm:ss a gg-MMM-aaaa

Suggerimento: Fai attenzione alle maiuscole. Se confondi M con m, otterrai risultati indesiderati!

Impariamo questo con un esempio di codice.

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

Produzione:

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

Esempio di confronto delle date

Esempio di confronto delle date

Il metodo più utile per confrontare le date è utilizzare il metodo – compareTo()

Diamo un'occhiata al frammento di codice seguente:

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

Produzione:

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