Hoffe Ihr könnt mir helfen. Habe ein kleines Progamm um eine Datumseingabe zu überprüfen. Funktioniert soweit ganz gut.
1. Das Problem liegt nur bei der Angabe der Jahreszahl. Es geht sowohl 13.12.1995 als auch 13.12.19, was ich ja nicht will. Wie kann ich erreichen, das er wirklich nur Datumseingaben akzeptiert wo ein komplettes Datum steht?
2. Wie kann ich die Tagesanzahl zwischen 2 Datumsangaben berechnen?
Code:
import java.util.*;
import java.text.*;
import java.io.*;
public class MartinDatum
{
public static void main(String args[])
{
Date dtm = null;
MartinDatum input = new MartinDatum();
String eingabe = input.datuminput("");
try
{
dtm = input.pruefeeingabe(eingabe);
System.out.println("Eingabe von"+" "+eingabe+" "+"ist ok");
}
catch(ParseException e)
{
System.out.println("Falsches Datum oder falsche Eingabe");
}
}
public Date pruefeeingabe(String eingabe) throws ParseException
{
SimpleDateFormat datform = new SimpleDateFormat("dd.MM.yyyy");
datform.setLenient(false);
Date dtm = datform.parse(eingabe);
return dtm;
}
public String datuminput(String ein)
{
try
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
while(ein != null)
{
ein = in.readLine();
break;
}
}
catch(IOException e)
{
System.out.println(e);
}
return ein;
}
}
Danke.
1. Das Problem liegt nur bei der Angabe der Jahreszahl. Es geht sowohl 13.12.1995 als auch 13.12.19, was ich ja nicht will. Wie kann ich erreichen, das er wirklich nur Datumseingaben akzeptiert wo ein komplettes Datum steht?
2. Wie kann ich die Tagesanzahl zwischen 2 Datumsangaben berechnen?
Code:
import java.util.*;
import java.text.*;
import java.io.*;
public class MartinDatum
{
public static void main(String args[])
{
Date dtm = null;
MartinDatum input = new MartinDatum();
String eingabe = input.datuminput("");
try
{
dtm = input.pruefeeingabe(eingabe);
System.out.println("Eingabe von"+" "+eingabe+" "+"ist ok");
}
catch(ParseException e)
{
System.out.println("Falsches Datum oder falsche Eingabe");
}
}
public Date pruefeeingabe(String eingabe) throws ParseException
{
SimpleDateFormat datform = new SimpleDateFormat("dd.MM.yyyy");
datform.setLenient(false);
Date dtm = datform.parse(eingabe);
return dtm;
}
public String datuminput(String ein)
{
try
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
while(ein != null)
{
ein = in.readLine();
break;
}
}
catch(IOException e)
{
System.out.println(e);
}
return ein;
}
}
Danke.