Den enkleste måten å opprette en dato fra en streng i Java er å la Sun Microsystems gjøre jobben for deg. Ved hjelp av to klasser som er en del av Java " util " og " tekst " APIer som allerede er installert på systemet med Java Development Kit , kan du automatisere konvertering mellom strenger og datoer med bare noen få linjer med kode. Du trenger
Java
tekst editor
Vis flere instruksjoner
en
Opprett en ny Java klasse fil som heter " StringToDate.java " ved hjelp av tekst editor eller . Java-utviklingsmiljø av ditt valg
2
Legg til følgende kode til toppen av klassen din fil : en
import java.util.Date , import java.text.ParseException ; import java.text.DateFormat ;
Dette er de klassene vi trenger for å bruke fra Java API i hele vårt program
3
Legg til følgende under dine import uttalelser. .
/*** Denne klassen konverterer strenger til datoer . * @ author Kevin Walker * /public class StringToDate {
}
All kode vil gå mellom den åpne og . nære parentes i denne klassen
4
Lag en lese metode innenfor klassen din : .
/*** Les strengen og returnere det som en dato * @ param d strengen å analysere * @ return datoen * /public static Dato read (String s ) kaster ParseException { DateFormat df = DateFormat.getDateInstance ( DateFormat.Long , Locale.US ) ; . Dato d = df.parse ( s ), tilbake d ; }
Dette bruker parse metoden i DateFormat klassen å tolke String til en dato , og dermed gjør alt det harde arbeidet for deg. Den regionale innstillingen er spesielt viktig, ettersom den forteller Java hvilken stil å forvente datoene å være i. Den amerikanske locale vil forvente datoene for å være i en måned-dag - år-format , mens andre steder kan forvente et format som dag - måned-år eller år-måned - dag .
5
Lag en viktig metode for å teste den.
/*** en prøve programmet som bruker DateReader klassen . * @ param args denne applikasjonen ikke mottar kommandolinje argumenter * /public static void main ( String [] args ) { String s = " . " ; try { String s = " 10/23/1997 "; Date d = read ( s ); System.out.println ( "Du skrev datoen : " + d.toString ( ) ); } catch ( ParseException e ) { System.out.println ( s + " . kan ikke analyseres som en date") ;} }
p Dette feeds rett og slett lese -funksjonen en streng for datoen av 23. oktober 1997, og ber om Date klassen til å gi oss tilbake en streng representasjon av denne datoen . I tilfelle en feil, vil " ParseException " bli fanget og programmet vil informere brukeren om at datoen var ugyldig .