Data Java & Ora: SimpleDateFormat, data corrente e amp; Confrontare

Sommario:

Anonim

In questo tutorial imparerai:

  • Visualizza la data corrente in Java
  • SimpleDateFormat: analizzare e formattare le date
  • Confronta date Esempio

Cerchiamo prima di capire i parametri che consistono in una data .

Conterrà principalmente:

  • L' anno (a 2 o 4 cifre)
  • Il mese (in 2 cifre, le prime 3 lettere del mese o l'intera parola del mese).
  • La data (sarà la data effettiva del mese).
  • Il giorno (il giorno alla data specificata - come Sun, Mon, Tue, ecc.)

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

Visualizza la data in Java

Ora vediamo come Java ci fornisce 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 constructorDate 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, prima comprendere la formattazione della data.

SimpleDateFormat: analizzare e formattare le date

Dovete aver imparato tutti gli alfabeti all'asilo

….

Impariamo ora l'ABC del formato della data.

Lettera Componente data o ora Esempi
G Designatore di epoca ANNO DOMINI
y Anno 2018
M Mese nell'anno Luglio o luglio o 07
w Settimana nell'anno 27
W Settimana al mese 2
D Giorno dell'anno 189
d Giorno in mese 10
F Giorno della settimana nel mese 2
E Nome del giorno nella settimana Martedì o mar
u Numero del giorno della settimana (1 = lunedì,…, 7 = domenica) 1
un Indicatore am / pm PM
H Ora nel giorno (0-23) 0
K Ora nel giorno (1-24) 24
K Ora am / pm (0-11) 0
h Ora am / pm (1-12) 12
m Minuto in ora 30
S Secondo in minuto 55
S Millisecondo 978
z Fuso orario Pacific Standard Time; PST; GMT-08: 00
Z Fuso orario -0800
X Fuso orario -08 o -0800 o -08: 00

Non preoccuparti, non è necessario ricordarli tutti, possono essere segnalati ogni volta che è necessario formattare una data particolare.

Come utilizzare SimpleDateFormat?

Java fornisce una classe chiamata SimpleDateFormat che consente di formattare e analizzare le date in base alle proprie esigenze.

È possibile utilizzare i caratteri sopra per specificare il formato, ad esempio:

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

Il formato della data appropriato specificato sarà be- yyyy.MM.dd HH: mm: ss zzz

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

Il formato della data appropriato specificato sarà- hh: mm: ss a dd-MMM-yyyy

Suggerimento: fai attenzione con le lettere maiuscole. Se sbagli 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 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}}

Produzione:

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

Confronta date Esempio

Il metodo più utile per confrontare le date è usare il metodo - compareTo ()

Diamo un'occhiata al seguente frammento di codice-

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