Det enklaste sättet att skapa en dag från en sträng i Java är att låta Sun Microsystems göra jobbet åt dig . Med hjälp av två klasser som ingår i Java " util " och " text " API: er som redan är installerade på ditt system med Java Development Kit kan du automatisera konverteringen mellan strängarna och datum med endast ett fåtal rader kod .
Du behöver:
Java
. Textredigerare .
1 .
Skapa ett nytt Java class fil med namnet " StringToDate. java " med textredigerare eller Java- utvecklingsmiljö för att förstora. .
2
Lägg till följande kod till toppen av din klass filen :
import java. util. Date ;
import java. text . ParseException ;
import java. text. DateFormat ;
Dessa är de klasser vi behöver för att använda från Java API hela vårt program
3
.
Lägg till följande under din import uttalanden .
/**
* Denna klass konverterar strängar till datum .
* @ author Kevin Walker
* /
public class StringToDate {
}
All kod kommer att gå mellan öppna och stänga parentes i denna klass . .
4
Skapa en läsa metod i din klass :
/**
* Läs strängen och returnera det som ett datum
* @ param d strängen för att tolka
* @ return dagen .
* /
public static Datum läsa ( String s ) kastar ParseException {
dateformat df=dateformat . getDateInstance ( DateFormat. Long , Locale. US ) ,
Datum d=df. parse ( s) ,
återvända d ;
}
använder tolka metoden för dateformat klassen att tolka String till ett datum , vilket gör allt det hårda arbetet åt dig . Av platsen är särskilt viktigt eftersom det berättar Java vilken stil att vänta de datum som skall in i USA lokalen förväntar de datum att vara i en månad-dag -år , medan andra lokaler kan förvänta sig ett format som dag-månad-år eller år -månad- dag .
5 .
Skapa en main-metod att testa den.
/**
* Ett prov program som använder DateReader klassen .
* @ param args Denna ansökan inte får kommandoradsargument.
* /
public static void main ( String [ ] args ) {
String s="" ; försöka
{
String s=" 1997/10/23 " ;
Date d=read ( s),
System . out. println ( " Du angav datum : " + d. toString ());
} catch ( ParseException e) { System. out. println
( s + " kan inte tolkas som ett datum . " ) ; }
}
Detta helt enkelt matar läsa funktionen en sträng för dagen den 23 oktober 1997, och begär att Date-klassen för att ge oss tillbaka en sträng representation av den dagen . I händelse av ett fel , kommer " ParseException " fångas och programmet kommer att informera användaren om att datumet var ogiltigt .
tips och varningar
dateformat . parse är en kraftfull metod som kan förstå de flesta former av skrivande datum, men det är inte idiotsäkert . Det kan potentiellt vara förvirrad , särskilt när man läser datum stilar som inte matchar det angivna språket.