Il modo più semplice per creare una data da una stringa in Java è che Sun Microsystems faccia il lavoro per voi. Utilizzando due classi che fanno parte del \"util\ Java" e \"text\" API che sono già installate sul vostro sistema con il Kit di sviluppo Java, è possibile automatizzare la conversione tra stringhe e date con solo poche righe di codice.
Istruzioni
1
Creare un nuovo file di classe Java denominato \"StringToDate.java\" utilizzando l'editor di testo o l'ambiente di sviluppo Java di vostra scelta.
2
Aggiungere il seguente codice nella parte superiore del file di classe:
importare java.util.Date
VAI
importazione java.text.ParseException
VAI
importazione java.text.DateFormat
VAI
Queste sono le classi che avremo bisogno di utilizzare l'API di Java in tutto il nostro programma.
3
Aggiungere il codice seguente sotto le istruzioni di importazione.
/**
Questa classe converte le stringhe in dates.@author Kevin Walker
*/
public class StringToDate {
}
Tutto il codice andrà tra le parentesi di aperte e chiusura di questa classe.
4
Creare un metodo di lettura all'interno della classe:
/**
* Read the string and return it as a Date.
* @param d the string to parse
* @return the date.
*/
public static Date read(String s) throws ParseException {
DateFormat df = DateFormat.getDateInstance(DateFormat.Long, Locale.US)
VAI
Date d = df.parse(s)
VAI
return d
VAI
}
Questo utilizza il metodo parse della classe DateFormat per interpretare la stringa in una data, così facendo tutto il lavoro duro per voi. L'impostazione di impostazioni internazionali è particolarmente importante, come dice quale stile aspettarsi le date in Java. Le impostazioni locali US si aspettano le date per essere in un formato mese-giorno-anno, mentre altri locali possono aspettarsi un formato come giorno-mese-anno o anno-mese-giorno.
5
Creare un metodo main per eseguire il test.
/**
* A sample application using the DateReader class.
* @param args This application doesn't receive command line arguments.
*/
public static void main(String[] args) {
String s = \"\"
VAI
try {
String s = \"10/23/1997\"
VAI
Date d = read(s)
VAI
System.out.println(\"You entered the date: \" + d.toString())
VAI
} catch (ParseException e) {
System.out.println(s + \" cannot be parsed as a date.\")
VAI
}
}
Questo semplicemente alimenta la funzione di lettura di una stringa per la data del 23 ottobre 1997 e chiede per la classe Date di darci indietro una rappresentazione di stringa di tale data. In caso di errore, il \"ParseException\" saranno catturati e il programma informerà l'utente che la data non era valida.
Consigli & Avvertenze
- DateFormat.parse è un metodo potente che può comprendere la maggior parte delle forme di scrittura date, ma non è infallibile. Può potenzialmente essere confuso, in particolare durante la lettura di stili di data che non corrispondono le impostazioni internazionali specificate.