Come creare un data da una stringa in Java

January 26

Come creare un data da una stringa in Java


Il modo più semplice per creare una data da una stringa in Java è quello di lasciare Sun Microsystems fare il lavoro per voi. Utilizzando due classi che fanno parte del Java \ "util \" e \ "text \" API che sono già installato sul vostro sistema con il Java Development Kit, è possibile automatizzare la conversione tra stringhe e date con solo poche righe di codice .

istruzione

1 Creare un nuovo file di classe Java denominato \ "StringToDate.java \" utilizzando l'editor di testo o un ambiente di sviluppo Java di vostra scelta.

2 Aggiungere il seguente codice nella parte superiore del file di classe:

import java.util.Date
ANDARE
importazione java.text.ParseException
ANDARE
importazione java.text.DateFormat
ANDARE

Queste sono le classi abbiamo bisogno di utilizzare dal API Java in tutto il nostro programma.

3 Aggiungere la seguente sotto le istruzioni import.

/ **

Questa classe converte le stringhe di date. @ Autore Kevin Walker
* /
public class StringToDate {

}

Tutto il codice andrà tra le parentesi di apertura 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)

ANDARE

Date d = df.parse(s)

ANDARE

return d

ANDARE

}

Questo utilizza il metodo parse della classe DateFormat di interpretare la stringa in una data, facendo in tal modo tutto il lavoro duro per voi. L'impostazione Locale è particolarmente importante, in quanto dice Java quale stile aspettarsi le date per essere in. Il locale degli Stati Uniti si aspettano che le date di essere in un formato mese-giorno-anno, mentre altri locali possono aspettarsi un formato come giorno- mese-anno o un anno-mese-giorno.

5 Creare un metodo principale per testarlo.

/**
* 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 = \"\"

ANDARE
provare {

String s = \"10/23/1997\"

ANDARE

Date d = read(s)

ANDARE

System.out.println(\"You entered the date: \" + d.toString())

ANDARE

} catch (ParseException e) {
System.out.println(s + \" cannot be parsed as a date.\")

ANDARE

}
}

Questo alimenta semplicemente la funzione di lettura di una stringa per la data del 23 ottobre 1997, e chiede per la classe Date per restituirci una rappresentazione di stringa di tale data. In caso di errore, il \ "ParseException \" saranno catturati e il programma informa l'utente che la data non era valido.

Consigli e avvertenze

  • DateFormat.parse è un metodo potente che può comprendere la maggior parte delle forme di scrittura date, ma non è infallibile. Si può potenzialmente essere confuso, in particolare quando la lettura di stili di data che non corrispondono alla Locale specificato.