Giava

Formato data Java

Formato data Java
Il valore della data deve essere formattato per vari scopi di programmazione. Uno dei motivi essenziali per formattare la data è rappresentare il valore della data in un formato leggibile dall'uomo. Esistono molte classi in Java per formattare il valore della data. DateTimeFormatter e SimpleDateFormat sono due di loro. Queste classi possono essere utilizzate per formattare i valori della data in modi diversi. Come queste due classi possono essere utilizzate per formattare la data in Java è spiegato in questo tutorial.

DateTimeFormatter:

È stato introdotto in Java 8 per formattare il valore della data. È usato per formattare ZonaDataOra, LocalDateTime, Data locale, e Ora locale. L'oggetto DateTimeFormatter può essere creato utilizzando un modello integrato, un modello personalizzato e uno stile localizzato. Alcuni usi di questa classe sono mostrati in questo tutorial con più esempi.

Formato data semplice:

Viene utilizzato per formattare e analizzare i valori della data con il supporto locale. La conversione da data a stringa e da stringa a data può essere eseguita facilmente utilizzando questa classe. Viene creato estendendo il Formato data classe. Alcuni usi di questa classe sono mostrati in questo tutorial con più esempi.

Esempio 1: formattare la data utilizzando DateTimeFormatter e il modello integrato

Il formato della data e dell'ora di DateTimeFormatter è fisso per l'incorporato modello. Il valore di data e ora verrà stampato in base al integrato modello utilizzato nel codice. DATA_ISO modello viene utilizzato nel seguente codice che stampa la data nel formato, aaaa-mm-gg. La data corrente viene letta qui utilizzando il metodo denominato adesso() del Data locale classe che restituisce il valore della data formattata nella stringa.

import java.tempo.formato.DateTimeFormatter;
import java.tempo.DataLocale;
classe pubblica date2
public static void main(String[] args)
//Crea oggetto DateTimeFormatter
DateTimeFormatter format_object = DateTimeFormatter.DATA_ISO;
//Crea un oggetto stringa per leggere la data locale
String DateObject = format_object.formato(DataLocale.adesso());
//Stampa la data corrente
Sistema.su.println("Oggi è " + OggettoData);

Produzione:

L'immagine seguente mostra l'output del codice sopra. L'output dipenderà dalla data di sistema corrente.

Esempio 2: formattare la data utilizzando DateTimeFormatter e un modello personalizzato

Puoi stampare il valore della data in un formato più leggibile utilizzando il modello personalizzato di DateTimeFormatter. Il modello utilizzato nell'esempio seguente stamperà il giorno della settimana corrente con il valore della data. di modello() il metodo viene utilizzato qui per impostare il modello del valore della data. Nel modello, 'EEEE' viene utilizzato per stampare il giorno della settimana in formato completo, 'dd' viene utilizzato per stampare il giorno, 'MMMM' è usato per stampare il nome del mese in forma completa e 'aaaa' viene utilizzato per stampare l'anno a quattro cifre. Il adesso() metodo di LocalDateTime viene utilizzato qui per leggere la data e l'ora del sistema corrente. Il formato() il metodo viene utilizzato per restituire il valore della data formattato nella stringa in base al modello.

import java.tempo.formato.DateTimeFormatter;
import java.tempo.LocalDateTime;
classe pubblica data1
public static void main(String[] args)
//Crea un oggetto formattatore usando ofPattern()
DateTimeFormatter format_object = DateTimeFormatter.ofPattern("EEEE, gg MMMM aaaa.");
//Crea un oggetto data-ora locale
LocalDateTime dateTimeObj = LocalDateTime.adesso();
//Ottieni stringa formattata
String stringDate = format_object.format(dateTimeObj);
//Stampa la data formattata
Sistema.su.println("Oggi è " + stringDate);

Produzione:

L'immagine seguente mostra l'output del codice sopra. L'output dipenderà dalla data di sistema corrente.

Esempio 3: formattare la data utilizzando SimpleTimeFormat e il metodo format()

L'esempio seguente mostra l'uso di SimpleTimeFormat per stampare la data e l'ora formattate in base al modello utilizzato. Qui, "gg MMMM aaaa, EEEE, hh:mm a" viene utilizzato come modello nel codice. Il significato di ciascuna parte del pattern senza  'hh' e 'mm' è spiegato nell'esempio precedente. 'eh' viene utilizzato qui per stampare il valore dell'ora corrente e 'mm' viene utilizzato per stampare il valore dei minuti correnti. Data la classe viene utilizzata nel codice per leggere la data e l'ora del sistema corrente. Il formato() il metodo viene utilizzato per restituire i valori di data e ora formattati nella stringa in base al modello utilizzato.

import java.testo.SimpleDateFormat;
import java.utile.Data;
classe pubblica date3
public static void main(String[] args)
//Imposta il modello
Schema stringa = "gg MMMM aaaa, EEEE,hh:mm a";
//Crea oggetto SimpleDateFormat
SimpleDateFormat simpleDateFormat = new SimpleDateFormat (schema);
//Converti la data nel valore della stringa
String dateVal = simpleDateFormat.format(nuova data());
//Dividi il valore della data in base alla virgola(,)
String[] today_arr = dateVal.Diviso(",");
//Stampa l'output formattato
Sistema.su.println("Data - " + today_arr[0]+ "\nDay - " + today_arr[1] +
"\nOra - " + today_arr[2]);

Produzione:

L'immagine seguente mostra l'output del codice sopra. L'output dipenderà dalla data e dall'ora del sistema corrente.

Esempio 4: formattare la data utilizzando SimpleTimeFormat e il metodo parse()

L'esempio seguente mostra l'uso di l'analisi() metodo per leggere la data corrente o una data particolare che converte il valore della stringa formattata in un valore di data. qui, il “gg/MM/aaaa” pattern viene utilizzato per impostare la data particolare per il analizzare() metodo. Il valore della data corrente viene letto da Data class e ha restituito il valore come stringa. Questo valore viene nuovamente convertito in valore di data utilizzando il analizzare() metodo. Successivamente, un particolare valore di data viene impostato come stringa nel metodo parse() secondo il modello. Il valore viene convertito in una data come prima.

import java.testo.SimpleDateFormat;
import java.utile.Data;
classe pubblica date4
public static void main(String[] args)
//Imposta il modello
Modello stringa = "gg/MM/aaaa";
provare
//Crea oggetto SimpleDateFormat
SimpleDateFormat format_object = new SimpleDateFormat (schema);
//Converti la data corrente nel valore della stringa
String dateVal = format_object.format(nuova data());
//Converti la stringa in un valore di data
Date date1 = format_object.parse(dateVal);
//Stampa il valore della data
Sistema.su.println("La data corrente è "+ data1);
//Converti la stringa della data definita nel valore della data
Date date2 = format_object.parse("16/12/2020");
//Stampa il valore della data
Sistema.su.println("La data definita è " + data2);

cattura (java.testo.ParseException e)
//Stampa messaggio di errore
Sistema.err.println(e.getMessage());


Produzione:

Il seguente output verrà visualizzato dopo l'esecuzione dello script e il primo output dipenderà dall'ora di sistema corrente.

Conclusione:

In questo tutorial sono mostrati diversi modi di formattare il valore della data utilizzando varie classi Java. Il tutorial si concentra principalmente sulla formattazione dei valori della data. Puoi formattare il valore dell'ora anche dalle classi utilizzate qui. Spero che l'attività di formattazione della data in Java sarà più semplice dopo aver letto questo tutorial.

Le migliori distribuzioni Linux per il gioco nel 2021
Il sistema operativo Linux ha fatto molta strada dal suo aspetto originale, semplice e basato su server. Questo sistema operativo è notevolmente migli...
Come acquisire e riprodurre in streaming la tua sessione di gioco su Linux
In passato, giocare era considerato solo un hobby, ma con il tempo l'industria dei giochi ha visto una crescita enorme in termini di tecnologia e nume...
I migliori giochi da giocare con il tracciamento delle mani
Oculus Quest ha recentemente introdotto la grande idea del tracciamento manuale senza controller. Con un numero sempre crescente di giochi e attività ...