Leer fecha por teclado


//pasa la fecha de String a Date para la fecha leida por teclado
private static Date convertirFechaLectura(String fecha){
                        //Formato de la fecha a convertir
SimpleDateFormat formato = new SimpleDateFormat("MM/yyyy");
Date dat = null;
try{
dat=formato.parse(fecha);
}catch(ParseException ex){

}
return dat;
}


//leer entradas del teclado
private static void lecturaTeclado(){
Scanner lee=new Scanner(System.in);//lector
System.out.println("formato fecha "
+ "MM/yyyy -Ej.:03/2016: ");
String fl=lee.next();//leer fecha
fechaTeclado = convertirFechaLectura(fl);//pasar fecha a date
}



Formato de fechas:

Dentro del SimpleDateFormat puedes meter la forma en la que introduces la fecha.
Ejemplo:
"yyyyy-mm-dd hh:mm:ss"
y - dígito del año.
m - dígito del mes en formato numérico.
d - dígito del día del mes (si el día es por ejemplo el 1 se introducirá como 01)
h - dígito de la hora del día
m - dígito del minuto
s - dígito del segundo

Dependiendo del SampleDateFormat el formato del Date es distinto:
   String date_s = " 2011-01-18 00:00:00.0";
   SimpleDateFormat dt = new SimpleDateFormat("yyyyy-mm-dd hh:mm:ss");
   Date date = dt.parse(date_s);
   SimpleDateFormat dt1 = new SimpleDateFormat("yyyyy-mm-dd");
   System.out.println(dt1.format(date));