Come convertire una stringa in data in Java?



Questo articolo ti introdurrà ai modi in cui puoi convertire String in Date in Java e ti fornirà anche una dimostrazione pratica completa.

Questo articolo ti introdurrà ai modi in cui puoi convertire String in Date in formato e darti anche una dimostrazione pratica approfondita. I seguenti suggerimenti saranno trattati in questo articolo,

Quindi iniziamo,





Come convertire la stringa in data in Java?

Impareremo qui 'Come convertire oggetti String in oggetti Date' usando semplici modifiche al codice e tecniche. Il modo migliore per convertire è
String to Date



SimpleDateFormat.parse (String)

Data in stringa

SimpleDateFormat.format (Data)


L'analisi funziona in vari modi:

Andando avanti con questo articolo su Converti stringa in data in Java,



cos'è il filtro di contesto nel tableau

Prendendo la data come un testo

Se hai bisogno del mese come testo in tre lettere, dobbiamo definire 3 'M', che viene preso come valore del mese. Quindi il valore del mese viene interpretato come testo come ottobre, dicembre, giugno ecc.

Per ottenere il risultato: 12-dic-1998

Ecco il codice per esprimere il valore String nel formato Date.

Pacchetto com.test.test import java.text.ParseException import java.text.SimpleDateFormat import java.util.Date public class TestDateExample1 {public static void main (String [] argv) {SimpleDateFormat formatter = new SimpleDateFormat ('dd-MMM- yyyy ') String dateInString = '12 -Dec-1998' try {Date date = formatter.parse (dateInString) System.out.println (date) System.out.println (formatter.format (date))} catch (ParseException e ) {e.printStackTrace ()}}}

Produzione:
Ven 12 dicembre 00:00:00 MYT 1998
12-dicembre-1998

Andando avanti con questo articolo su Converti stringa in data in Java,

Per ottenere la data formattata nel formato '12/12/1988'

pacchetto com.test.date import java.text.ParseException import java.text.SimpleDateFormat import java.util.Date public class TestDateExample2 {public static void main (String [] argv) {SimpleDateFormat formatter = new SimpleDateFormat ('dd / MM / yyyy ') String dateInString = '12 / 12/1988' try {Date date = formatter.parse (dateInString) System.out.println (date) System.out.println (formatter.format (date))} catch (ParseException e ) {e.printStackTrace ()}}}

Java 8 utilizza l'API Date-Time che fornisce metodi parse () per convertire il valore String nel valore Date-Time. Per le regole di analisi di base, sono stati definiti degli standard per rappresentare il valore String per la data e l'ora in entrambi ISO_LOCAL_TIME o ISO_LOCAL_DATE formato. Mettiamo il codice del formattatore nel blocco 'try' e 'catch' che genera un'eccezione in fase di esecuzione ogni volta che la regola definita non viene soddisfatta.
Un semplice esempio di analisi è:

LocalDateTime dateTime = LocalDateTime.parse ('2018-05-05T11: 50: 55')

Andando avanti con questo articolo su Converti stringa in data in Java,

Per modificare il fuso orario

A tal fine, è necessario definire i metodi di analisi del fuso orario noti come 'ZonedDateTime' per modificare direttamente il valore della stringa nel formato data-ora. Tutto quello che devi fare è definire il fuso orario in cui desideri la tua data-ora. Ad esempio, qui abbiamo bisogno della nostra data e ora nella zona europea. Quindi, definiamo la tiemzone come Europa / Parigi utilizzando il metodo 'ZonedDateTime':

ZonedDateTime zonedDateTime = ZonedDateTime.parse ('2015-05-05T10: 15: 30 + 01: 00 [Europe / Paris]')

Ora, prendiamo il semplice Data e ora API che converte il valore di stringa in valore di data utilizzando SimpleDateFormat:

  1. Java ha introdotto un nuovo Appuntamento Chiamata API con la sua versione 8 per rappresentare i parametri di data e ora noti come 'java.time'. La vecchia chiamata in tutte le versioni precedenti per rappresentare la data era java.util.date.

Vediamo come convertire effettivamente una stringa in un tipo di dati di data e ora locale:

Analizza la chiamata API:

Se il valore String che dobbiamo convertire in Appuntamento type è di formato ISO-801, quindi possiamo semplicemente chiamare le classi DateFormat e SimpleDateFormat usando i metodi parse ().

Un esempio per lo stesso:

import java.text.SimpleDateFormat import java.util.Date public class StringToDateExample1 {public static void main (String [] args) genera un'eccezione {String sDate1 = '31 / 12/1998 'Date date1 = new SimpleDateFormat (' dd / MM / yyyy '). parse (sDate1) System.out.println (sDate1 +' t '+ date1)}}

Produzione:
31/12/1998 Gio 31 dicembre 00:00:00 È 1998

import java.text.SimpleDateFormat import java.util.Date public class StringToDateExample2 {public static void main (String [] args) genera un'eccezione {String sDate1 = '12 / 10/1988 'String sDate2 = '12 -Oct-1988' String sDate3 = '12 10, 1988 'String sDate4 =' Wed, Oct 12 1988 'String sDate5 =' Wed, Oct 12 1988 23:37:50 'String sDate6 = '31 -Dec-1998 23:37:50' SimpleDateFormat formatter1 = new SimpleDateFormat ('dd / MM / yyyy') SimpleDateFormat formatter2 = new SimpleDateFormat ('dd-MMM-yyyy') SimpleDateFormat formatter3 = new SimpleDateFormat ('MM dd, yyyy') SimpleDateFormat formatter4 = new SimpleDateFormat yyyy ') SimpleDateFormat formatter5 = new SimpleDateFormat (' E, MMM dd yyyy HH: mm: ss ') SimpleDateFormat formatter6 = new SimpleDateFormat (' dd-MMM-yyyy HH: mm: ss ') Date date1 = formatter1.parse (sDate1) Date date2 = formatter2.parse (sDate2) Date date3 = formatter3.parse (sDate3) Date date4 = formatter4.parse (sDate4) Date date5 = formatter5.parse (sDate5) Date date6 = formatter6.parse (sDate6) System.out.println (sDat e1 + 't' + data1) System.out.println (sDate2 + 't' + date2) System.out.println (sDate3 + 't' + data3) System.out.println (sDate4 + 't' + date4) System.out. println (sDate5 + 't' + date5) System.out.println (sDate6 + 't' + date6)}}

Utilizzando il codice sopra si ottengono effettivamente i risultati in tutti i formati menzionati. Quindi, abbiamo definito i vari formati di data in un valore String e poi li abbiamo analizzati definendo la classe SimpleDateFormat. Una volta fatto, l'output viene generato in tutti i formati di data e ora menzionati.

31/12/1998 Giovedì 31 dicembre 00:00:00 È 1998

31-dicembre-1998 Giovedì 31 dicembre 00:00:00 È 1998

12 31, 1998 Gio 31 dicembre 00:00:00 È 1998

Gio, 31 dicembre 1998 Gio 31 dicembre 00:00:00 È 1998

Gio, 31 dicembre 1998 23:37:50 Giovedì 31 dicembre 23:37:50 È 1998

31-dic-1998 23:37:50 Giovedì 31 dicembre 23:37:50 È 1998

Per saperne di più sul formato della data, leggi il documento il javadoc . Alcuni dei formati validi da String to Date sono menzionati qui:
y = anno (yy o yyyy)

M = mese (MM)

d = giorno nel mese (dd)

h = ora (0-12) (hh)

H = ora (0-23) (HH)

m = minuto in ora (mm)

s = secondi (ss)

S = millisecondi (SSS)

z = testo del fuso orario (ad es. Pacific Standard Time ...)

Z = fuso orario, differenza di orario (ad es. -0800)

Nota: La definizione di 'Java.util.date' come Date date = new date () è stata deprecata. Quindi, usa sempre SimpleDateFormat con una stringa di input corrispondente che devi convertire.

Così siamo giunti alla fine di questo articolo su 'Come convertire una stringa in data in Java?'. Se desideri saperne di più,controlla il da Edureka, una società di apprendimento online affidabile. Il corso di formazione e certificazione Java J2EE e SOA di Edureka è progettato per formarti sia sui concetti di base che avanzati su Java insieme a vari framework Java come Hibernate e Spring.

cos'è il deadlock in java

Hai domande per noi? Si prega di menzionarlo nella sezione commenti di questo articolo e ti risponderemo il prima possibile.